@@ -41,32 +41,40 @@ internal class _StateMachine<Progress, Value, Error>
4141 self . state = paused ? . Paused : . Running
4242 }
4343
44- internal func addProgressTupleHandler( inout token: _HandlerToken ? , _ progressTupleHandler: ProgressTupleHandler )
44+ internal func addProgressTupleHandler( inout token: _HandlerToken ? , _ progressTupleHandler: ProgressTupleHandler ) -> Bool
4545 {
4646 if self . state == . Running || self . state == . Paused {
4747 token = self . progressTupleHandlers. append ( progressTupleHandler)
48+ return token != nil
4849 }
50+ return false
4951 }
5052
51- internal func removeProgressTupleHandler( handlerToken: _HandlerToken ? )
53+ internal func removeProgressTupleHandler( handlerToken: _HandlerToken ? ) -> Bool
5254 {
5355 if let handlerToken = handlerToken {
54- self . progressTupleHandlers. remove ( handlerToken)
56+ let removedHandler = self . progressTupleHandlers. remove ( handlerToken)
57+ return removedHandler != nil
5558 }
59+ return false
5660 }
5761
58- internal func addCompletionHandler( inout token: _HandlerToken ? , _ completionHandler: Void -> Void )
62+ internal func addCompletionHandler( inout token: _HandlerToken ? , _ completionHandler: Void -> Void ) -> Bool
5963 {
6064 if self . state == . Running || self . state == . Paused {
6165 token = self . completionHandlers. append ( completionHandler)
66+ return token != nil
6267 }
68+ return false
6369 }
6470
65- internal func removeCompletionHandler( handlerToken: _HandlerToken ? )
71+ internal func removeCompletionHandler( handlerToken: _HandlerToken ? ) -> Bool
6672 {
6773 if let handlerToken = handlerToken {
68- self . completionHandlers. remove ( handlerToken)
74+ let removedHandler = self . completionHandlers. remove ( handlerToken)
75+ return removedHandler != nil
6976 }
77+ return false
7078 }
7179
7280 internal func handleProgress( progress: Progress )
@@ -224,9 +232,9 @@ internal struct _Handlers<T>: SequenceType
224232 return _HandlerToken ( key: self . currentKey)
225233 }
226234
227- internal mutating func remove( token: _HandlerToken )
235+ internal mutating func remove( token: _HandlerToken ) -> T ?
228236 {
229- self . elements. removeValueForKey ( token. key)
237+ return self . elements. removeValueForKey ( token. key)
230238 }
231239
232240 internal mutating func removeAll( keepCapacity: Bool = false )
0 commit comments