As a final followup before bed...

I chose not to have a 'cancel' method on my class because that seemed
misleading. You're not really canceling anything. You're just asking that a
deferred that you got earlier be fired right now with a value of your
choosing. So I made 2 methods, and named them 'callback' and 'errback'.
The Subject above is reasonably accurate, it's like a pseudo-Deferred
class. Everyone works with regular deferreds, as usual, but if you know you
might want to "cancel" a deferred by firing it early, you can call the
call/errback methods on an instance of CancellableDeferred. Because the
deferred you're holding is not the one that was obtained by calling
self._f, it will fire immediately, which is surely part of the point of
cancellation.  In other words, using the word "cancel" is just a convenient
short / casual description of what's actually being done.

I hope all these words are making things more clear, not less...

Terry

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to