[Twisted-Python] why deferred.setTimeout is not my favorite API method
Andrew Bennetts
andrew-twisted at puzzling.org
Sun Apr 18 18:45:07 MDT 2004
On Sun, Apr 18, 2004 at 11:21:45AM -0400, Bob Ippolito wrote:
>
> On Apr 18, 2004, at 6:16 AM, Andrew Bennetts wrote:
>
> >I think that timeouts, or cancellations in general, are something that
> >Deferreds should *support*, even though they cannot provide them entirely
> >automatically. I'll try to explain why.
>
> Yes, cancellation should be supported in the Deferred object, timeouts
> should not. Timeouts are just a specific case of cancellation that can
> be done outside of the implementation of Deferred. Cancellation can't,
> because you need to know where the deferred came from originally in
> order to figure out how to cancel it and that information is not
> tracked.
I agree that timeouts can (and should) be implemented on top of
cancellations, which are a more general concept, and because of this I've
changed my mind about fixing setTimeout.
I don't think we should remove setTimeout until we have cancellation
support, though.
I'm happy for setTimeout to be deprecated now, though.
And I never liked the "DON'T USE THIS" docstring, which is just a way of
deprecating without really deprecating ;)
-Andrew.
More information about the Twisted-Python
mailing list