@@ -40,17 +40,7 @@ extension MemoryAdapter: Adapter {
4040 return eventloop. makeSucceededVoidFuture ( )
4141 }
4242
43- /// Async/await version of loadPolicy for Swift 6 concurrency
44- public func loadPolicy( m: Model ) async throws {
45- for line in policy {
46- let sec = line [ 0 ]
47- let ptype = line [ 1 ]
48- let rule = Array ( line. dropFirst ( 2 ) )
49- if let ast = m. getModel ( ) [ sec] ? [ ptype] {
50- ast. policy. append ( rule)
51- }
52- }
53- }
43+ // Async/await overloads moved to MemoryAdapter+AsyncAwait.swift
5444
5545 public func loadFilteredPolicy( m: Model , f: Filter ) -> EventLoopFuture < Void > {
5646 for line in policy {
@@ -83,36 +73,7 @@ extension MemoryAdapter: Adapter {
8373 return eventloop. makeSucceededVoidFuture ( )
8474 }
8575
86- /// Async/await version of loadFilteredPolicy for Swift 6 concurrency
87- public func loadFilteredPolicy( m: Model , f: Filter ) async throws {
88- for line in policy {
89- let sec = line [ 0 ]
90- let ptype = line [ 1 ]
91- let rule = Array ( line. dropFirst ( 2 ) )
92- var isFiltered = false
93- if sec == " p " {
94- for (i, r) in f. p. enumerated ( ) {
95- if !r. isEmpty && r != rule [ i] {
96- isFiltered = true
97- }
98- }
99- }
100- if sec == " g " {
101- for (i, r) in f. g. enumerated ( ) {
102- if !r. isEmpty && r != rule [ i] {
103- isFiltered = true
104- }
105- }
106- }
107- if !isFiltered {
108- if let ast = m. getModel ( ) [ sec] ? [ ptype] {
109- ast. policy. append ( rule)
110- }
111- } else {
112- self . isFiltered = true
113- }
114- }
115- }
76+ // Async/await overloads moved to MemoryAdapter+AsyncAwait.swift
11677
11778 public func savePolicy( m: Model ) -> EventLoopFuture < Void > {
11879 self . policy = [ ]
@@ -139,42 +100,15 @@ extension MemoryAdapter: Adapter {
139100 return eventloop. makeSucceededVoidFuture ( )
140101 }
141102
142- /// Async/await version of savePolicy for Swift 6 concurrency
143- public func savePolicy( m: Model ) async throws {
144- self . policy = [ ]
145- if let astMap = m. getModel ( ) [ " p " ] {
146- for (ptype, ast) in astMap {
147- for policy in ast. policy {
148- var rule = policy
149- rule. insert ( ptype, at: 0 )
150- rule. insert ( " p " , at: 0 )
151- self . policy. insert ( rule)
152- }
153- }
154- }
155- if let astMap = m. getModel ( ) [ " g " ] {
156- for (ptype, ast) in astMap {
157- for policy in ast. policy {
158- var rule = policy
159- rule. insert ( ptype, at: 0 )
160- rule. insert ( " g " , at: 0 )
161- self . policy. insert ( rule)
162- }
163- }
164- }
165- }
103+ // Async/await overloads moved to MemoryAdapter+AsyncAwait.swift
166104
167105 public func clearPolicy( ) -> EventLoopFuture < Void > {
168106 self . policy = [ ]
169107 self . isFiltered = false
170108 return eventloop. makeSucceededVoidFuture ( )
171109 }
172110
173- /// Async/await version of clearPolicy for Swift 6 concurrency
174- public func clearPolicy( ) async throws {
175- self . policy = [ ]
176- self . isFiltered = false
177- }
111+ // Async/await overloads moved to MemoryAdapter+AsyncAwait.swift
178112
179113 public func addPolicy( sec: String , ptype: String , rule: [ String ] ) -> EventLoopFuture < Bool > {
180114 var rule = rule
@@ -183,13 +117,7 @@ extension MemoryAdapter: Adapter {
183117 return eventloop. makeSucceededFuture ( self . policy. insert ( rule) . inserted)
184118 }
185119
186- /// Async/await version of addPolicy for Swift 6 concurrency
187- public func addPolicy( sec: String , ptype: String , rule: [ String ] ) async throws -> Bool {
188- var rule = rule
189- rule. insert ( ptype, at: 0 )
190- rule. insert ( sec, at: 0 )
191- return self . policy. insert ( rule) . inserted
192- }
120+ // Async/await overloads moved to MemoryAdapter+AsyncAwait.swift
193121
194122 public func addPolicies( sec: String , ptype: String , rules: [ [ String ] ] ) -> EventLoopFuture < Bool > {
195123 var allAdded = true
@@ -209,24 +137,7 @@ extension MemoryAdapter: Adapter {
209137 return eventloop. makeSucceededFuture ( allAdded)
210138 }
211139
212- /// Async/await version of addPolicies for Swift 6 concurrency
213- public func addPolicies( sec: String , ptype: String , rules: [ [ String ] ] ) async throws -> Bool {
214- var allAdded = true
215- let rules : [ [ String ] ] = rules. map { rule in
216- var rule = rule
217- rule. insert ( ptype, at: 0 )
218- rule. insert ( sec, at: 0 )
219- return rule
220- }
221- for rule in rules {
222- if policy. contains ( rule) {
223- allAdded = false
224- return allAdded
225- }
226- }
227- self . policy = self . policy. union ( rules)
228- return allAdded
229- }
140+ // Async/await overloads moved to MemoryAdapter+AsyncAwait.swift
230141
231142 public func removePolicy( sec: String , ptype: String , rule: [ String ] ) -> EventLoopFuture < Bool > {
232143 var rule = rule
@@ -235,13 +146,7 @@ extension MemoryAdapter: Adapter {
235146 return eventloop. makeSucceededFuture ( policy. remove ( rule) != nil )
236147 }
237148
238- /// Async/await version of removePolicy for Swift 6 concurrency
239- public func removePolicy( sec: String , ptype: String , rule: [ String ] ) async throws -> Bool {
240- var rule = rule
241- rule. insert ( ptype, at: 0 )
242- rule. insert ( sec, at: 0 )
243- return policy. remove ( rule) != nil
244- }
149+ // Async/await overloads moved to MemoryAdapter+AsyncAwait.swift
245150
246151 public func removePolicies( sec: String , ptype: String , rules: [ [ String ] ] ) -> EventLoopFuture < Bool > {
247152 var allRemoved = true
@@ -266,29 +171,7 @@ extension MemoryAdapter: Adapter {
266171 return eventloop. makeSucceededFuture ( allRemoved)
267172 }
268173
269- /// Async/await version of removePolicies for Swift 6 concurrency
270- public func removePolicies( sec: String , ptype: String , rules: [ [ String ] ] ) async throws -> Bool {
271- var allRemoved = true
272- let rules : [ [ String ] ] = rules. map { rule in
273- var rule = rule
274- rule. insert ( ptype, at: 0 )
275- rule. insert ( sec, at: 0 )
276- return rule
277- }
278- // Atomic semantics
279- for rule in rules {
280- if !policy. contains ( rule) {
281- allRemoved = false
282- break
283- }
284- }
285- if allRemoved {
286- for rule in rules {
287- _ = self . policy. remove ( rule)
288- }
289- }
290- return allRemoved
291- }
174+ // Async/await overloads moved to MemoryAdapter+AsyncAwait.swift
292175
293176 public func removeFilteredPolicy( sec: String , ptype: String , fieldIndex: Int , fieldValues: [ String ] ) -> EventLoopFuture < Bool > {
294177 if fieldValues. isEmpty {
@@ -319,33 +202,5 @@ extension MemoryAdapter: Adapter {
319202 return eventloop. makeSucceededFuture ( res)
320203 }
321204
322- /// Async/await version of removeFilteredPolicy for Swift 6 concurrency
323- public func removeFilteredPolicy( sec: String , ptype: String , fieldIndex: Int , fieldValues: [ String ] ) async throws -> Bool {
324- if fieldValues. isEmpty {
325- return false
326- }
327- var tmp : Set < [ String ] > = [ ]
328- var res = false
329- for rule in policy {
330- if sec == rule [ 0 ] && ptype == rule [ 1 ] {
331- var matched = true
332- for (i, fieldValue) in fieldValues. enumerated ( ) {
333- if !fieldValue. isEmpty
334- && rule [ fieldIndex + i + 2 ] != fieldValue {
335- matched = false
336- break
337- }
338- }
339- if matched {
340- res = true
341- } else {
342- tmp. insert ( rule)
343- }
344- } else {
345- tmp. insert ( rule)
346- }
347- }
348- self . policy = tmp
349- return res
350- }
205+ // Async/await overloads moved to MemoryAdapter+AsyncAwait.swift
351206}
0 commit comments