@@ -97,9 +97,9 @@ extension Deferred
97
97
/// - parameter serially: whether the notifications should be dispatched on a serial queue; defaults to `true`
98
98
/// - returns: a new `Deferred` whose notifications will execute at QoS `qos`
99
99
100
- public func enqueuing( at qos: DispatchQoS , serially : Bool = true ) -> Deferred
100
+ public func enqueuing( at qos: DispatchQoS ) -> Deferred
101
101
{
102
- let queue = DispatchQueue ( label: " deferred " , qos: qos, attributes : serially ? [ ] : . concurrent )
102
+ let queue = DispatchQueue ( label: " \( self . queue . label ) -enqueuing " , qos: qos, target : self . queue )
103
103
return enqueuing ( on: queue)
104
104
}
105
105
}
@@ -139,7 +139,7 @@ extension Deferred
139
139
public func map< Other> ( qos: DispatchQoS ,
140
140
transform: @escaping ( _ value: Success ) -> Other ) -> Deferred < Other , Failure >
141
141
{
142
- let queue = DispatchQueue ( label: " deferred -map" , qos: qos)
142
+ let queue = DispatchQueue ( label: " \( self . queue . label ) -map " , qos: qos, target : self . queue )
143
143
return map ( queue: queue, transform: transform)
144
144
}
145
145
@@ -174,7 +174,7 @@ extension Deferred
174
174
public func tryMap< Other> ( qos: DispatchQoS ,
175
175
transform: @escaping ( _ value: Success ) throws -> Other ) -> Deferred < Other , Error >
176
176
{
177
- let queue = DispatchQueue ( label: " deferred -trymap" , qos: qos)
177
+ let queue = DispatchQueue ( label: " \( self . queue . label ) -trymap " , qos: qos, target : self . queue )
178
178
return tryMap ( queue: queue, transform: transform)
179
179
}
180
180
@@ -209,7 +209,7 @@ extension Deferred
209
209
public func mapError< OtherFailure> ( qos: DispatchQoS ,
210
210
transform: @escaping ( _ error: Failure ) -> OtherFailure ) -> Deferred < Success , OtherFailure >
211
211
{
212
- let queue = DispatchQueue ( label: " deferred -maperror" , qos: qos)
212
+ let queue = DispatchQueue ( label: " \( self . queue . label ) -maperror " , qos: qos, target : self . queue )
213
213
return mapError ( queue: queue, transform: transform)
214
214
}
215
215
@@ -297,7 +297,7 @@ extension Deferred
297
297
public func flatMap< Other> ( qos: DispatchQoS ,
298
298
transform: @escaping ( _ value: Success ) -> Deferred < Other , Failure > ) -> Deferred < Other , Failure >
299
299
{
300
- let queue = DispatchQueue ( label: " deferred -flatmap" , qos: qos)
300
+ let queue = DispatchQueue ( label: " \( self . queue . label ) -flatmap " , qos: qos, target : self . queue )
301
301
return flatMap ( queue: queue, transform: transform)
302
302
}
303
303
@@ -347,7 +347,7 @@ extension Deferred
347
347
public func tryFlatMap< Other> ( qos: DispatchQoS ,
348
348
transform: @escaping ( _ value: Success ) throws -> Deferred < Other , Error > ) -> Deferred < Other , Error >
349
349
{
350
- let queue = DispatchQueue ( label: " deferred -flatmap" , qos: qos)
350
+ let queue = DispatchQueue ( label: " \( self . queue . label ) -flatmap " , qos: qos, target : self . queue )
351
351
return tryFlatMap ( queue: queue, transform: transform)
352
352
}
353
353
@@ -398,7 +398,7 @@ extension Deferred
398
398
public func flatMapError< OtherFailure> ( qos: DispatchQoS ,
399
399
transform: @escaping ( _ error: Failure ) -> Deferred < Success , OtherFailure > ) -> Deferred < Success , OtherFailure >
400
400
{
401
- let queue = DispatchQueue ( label: " deferred -flatmaperror" , qos: qos)
401
+ let queue = DispatchQueue ( label: " \( self . queue ) -flatmaperror " , qos: qos, target : self . queue )
402
402
return flatMapError ( queue: queue, transform: transform)
403
403
}
404
404
}
@@ -565,7 +565,7 @@ extension Deferred
565
565
public func recover( qos: DispatchQoS ,
566
566
transform: @escaping ( _ error: Failure ) -> Deferred ) -> Deferred
567
567
{
568
- let queue = DispatchQueue ( label: " deferred -recover" , qos: qos)
568
+ let queue = DispatchQueue ( label: " \( self . queue . label ) -recover " , qos: qos, target : self . queue )
569
569
return recover ( queue: queue, transform: transform)
570
570
}
571
571
@@ -580,7 +580,7 @@ extension Deferred
580
580
public static func Retrying( _ attempts: Int , qos: DispatchQoS = . current,
581
581
task: @escaping ( ) -> Deferred ) -> Deferred
582
582
{
583
- let queue = DispatchQueue ( label: " retrying " , qos: qos)
583
+ let queue = DispatchQueue ( label: " deferred-retry " , qos: qos, target : . global ( qos : qos . qosClass ) )
584
584
return Deferred . Retrying ( attempts, queue: queue, task: task)
585
585
}
586
586
@@ -655,7 +655,7 @@ extension Deferred where Failure == Error
655
655
public func recover( qos: DispatchQoS ,
656
656
transform: @escaping ( _ error: Error ) throws -> Success ) -> Deferred
657
657
{
658
- let queue = DispatchQueue ( label: " deferred -recover" , qos: qos)
658
+ let queue = DispatchQueue ( label: " \( self . queue . label ) -recover " , qos: qos, target : self . queue )
659
659
return recover ( queue: queue, transform: transform)
660
660
}
661
661
@@ -670,7 +670,7 @@ extension Deferred where Failure == Error
670
670
public static func Retrying( _ attempts: Int , qos: DispatchQoS = . current,
671
671
task: @escaping ( ) throws -> Success ) -> Deferred
672
672
{
673
- let queue = DispatchQueue ( label: " deferred " , qos: qos)
673
+ let queue = DispatchQueue ( label: " deferred-retry " , qos: qos, target : . global ( qos : qos . qosClass ) )
674
674
return Deferred . Retrying ( attempts, queue: queue, task: task)
675
675
}
676
676
@@ -763,7 +763,7 @@ extension Deferred
763
763
public func apply< Other> ( qos: DispatchQoS ,
764
764
transform: Deferred < ( _ value: Success ) -> Other , Never > ) -> Deferred < Other , Failure >
765
765
{
766
- let queue = DispatchQueue ( label: " deferred -apply" , qos: qos)
766
+ let queue = DispatchQueue ( label: " \( self . queue . label ) -apply " , qos: qos, target : self . queue )
767
767
return apply ( queue: queue, transform: transform)
768
768
}
769
769
}
@@ -803,7 +803,7 @@ extension Deferred
803
803
public func validate( qos: DispatchQoS ,
804
804
predicate: @escaping ( _ value: Success ) -> Bool , message: String = " " ) -> Deferred < Success , Error >
805
805
{
806
- let queue = DispatchQueue ( label: " deferred " , qos: qos)
806
+ let queue = DispatchQueue ( label: " \( self . queue . label ) -validate " , qos: qos, target : self . queue )
807
807
return validate ( queue: queue, predicate: predicate, message: message)
808
808
}
809
809
@@ -838,7 +838,7 @@ extension Deferred
838
838
public func validate( qos: DispatchQoS ,
839
839
predicate: @escaping ( _ value: Success ) throws -> Void ) -> Deferred < Success , Error >
840
840
{
841
- let queue = DispatchQueue ( label: " deferred " , qos: qos)
841
+ let queue = DispatchQueue ( label: " \( self . queue . label ) -validate " , qos: qos, target : self . queue )
842
842
return validate ( queue: queue, predicate: predicate)
843
843
}
844
844
}
@@ -870,7 +870,7 @@ extension Optional
870
870
871
871
public func deferred( qos: DispatchQoS = . current) -> Deferred < Wrapped , Invalidation >
872
872
{
873
- let queue = DispatchQueue ( label: " deferred " , qos: qos)
873
+ let queue = DispatchQueue ( label: " deferred " , qos: qos, target : . global ( qos : qos . qosClass ) )
874
874
return self . deferred ( queue: queue)
875
875
}
876
876
}
0 commit comments