@@ -41,32 +41,40 @@ internal class _StateMachine<Progress, Value, Error>
41
41
self . state = paused ? . Paused : . Running
42
42
}
43
43
44
- internal func addProgressTupleHandler( inout token: _HandlerToken ? , _ progressTupleHandler: ProgressTupleHandler )
44
+ internal func addProgressTupleHandler( inout token: _HandlerToken ? , _ progressTupleHandler: ProgressTupleHandler ) -> Bool
45
45
{
46
46
if self . state == . Running || self . state == . Paused {
47
47
token = self . progressTupleHandlers. append ( progressTupleHandler)
48
+ return true
48
49
}
50
+ return false
49
51
}
50
52
51
- internal func removeProgressTupleHandler( handlerToken: _HandlerToken ? )
53
+ internal func removeProgressTupleHandler( handlerToken: _HandlerToken ? ) -> Bool
52
54
{
53
55
if let handlerToken = handlerToken {
54
- self . progressTupleHandlers. remove ( handlerToken)
56
+ let removedHandler = self . progressTupleHandlers. remove ( handlerToken)
57
+ return removedHandler != nil
55
58
}
59
+ return false
56
60
}
57
61
58
- internal func addCompletionHandler( inout token: _HandlerToken ? , _ completionHandler: Void -> Void )
62
+ internal func addCompletionHandler( inout token: _HandlerToken ? , _ completionHandler: Void -> Void ) -> Bool
59
63
{
60
64
if self . state == . Running || self . state == . Paused {
61
65
token = self . completionHandlers. append ( completionHandler)
66
+ return true
62
67
}
68
+ return false
63
69
}
64
70
65
- internal func removeCompletionHandler( handlerToken: _HandlerToken ? )
71
+ internal func removeCompletionHandler( handlerToken: _HandlerToken ? ) -> Bool
66
72
{
67
73
if let handlerToken = handlerToken {
68
- self . completionHandlers. remove ( handlerToken)
74
+ let removedHandler = self . completionHandlers. remove ( handlerToken)
75
+ return removedHandler != nil
69
76
}
77
+ return false
70
78
}
71
79
72
80
internal func handleProgress( progress: Progress )
@@ -224,9 +232,9 @@ internal struct _Handlers<T>: SequenceType
224
232
return _HandlerToken ( key: self . currentKey)
225
233
}
226
234
227
- internal mutating func remove( token: _HandlerToken )
235
+ internal mutating func remove( token: _HandlerToken ) -> T ?
228
236
{
229
- self . elements. removeValueForKey ( token. key)
237
+ return self . elements. removeValueForKey ( token. key)
230
238
}
231
239
232
240
internal mutating func removeAll( keepCapacity: Bool = false )
0 commit comments