mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Swift
		
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Swift
		
	
| // Copyright © 2023 Rangeproof Pty Ltd. All rights reserved.
 | |
| 
 | |
| import Foundation
 | |
| 
 | |
| public extension DispatchQueue {
 | |
|     func async(
 | |
|         group: DispatchGroup? = nil,
 | |
|         qos: DispatchQoS = .unspecified,
 | |
|         flags: DispatchWorkItemFlags = [],
 | |
|         using dependencies: Dependencies,
 | |
|         execute work: @escaping () -> Void
 | |
|     ) {
 | |
|         guard !dependencies.forceSynchronous else { return work() }
 | |
|         
 | |
|         return self.async(group: group, qos: qos, flags: flags, execute: work)
 | |
|     }
 | |
|     
 | |
|     func asyncAfter(
 | |
|         deadline: DispatchTime,
 | |
|         qos: DispatchQoS = .unspecified,
 | |
|         flags: DispatchWorkItemFlags = [],
 | |
|         using dependencies: Dependencies,
 | |
|         execute work: @escaping  () -> Void
 | |
|     ) {
 | |
|         guard !dependencies.forceSynchronous else { return work() }
 | |
|         
 | |
|         self.asyncAfter(deadline: deadline, qos: qos, flags: flags, execute: work)
 | |
|     }
 | |
|     
 | |
|     static func with(key: DispatchSpecificKey<String>, matches context: String, using dependencies: Dependencies) -> Bool {
 | |
|         guard !dependencies.forceSynchronous else { return true }
 | |
|         
 | |
|         return (DispatchQueue.getSpecific(key: key) == context)
 | |
|     }
 | |
| }
 |