[Twisted-Python] Twisted and PEP 3148 support

Jason J. W. Williams jasonjwwilliams at gmail.com
Mon Jan 10 17:01:16 EST 2011


Do futures support chaining? From a cursory read of PEP 3148 it
doesn't look like they do.

-J

2011/1/10 Alex Grönholm <alex.gronholm at nextday.fi>:
> There has been some discussion over email between myself and several
> Twisted developers regarding the possibility of adding support for PEP
> 3148 futures and executors to Twisted. I'm starting this thread to move
> the conversation to this mailing list to gain a broader audience.
>
> For those who do not know what PEP 3148 is about, suffice to say that
> it's an API for deferred execution of code. The reference implementation
> can be found in the Python 3.2 standard library under the package name
> concurrent.futures. A backport that works on Python 2.5, 2.6, 2.7 and
> 3.1 has been made available by Brian Quinlan and myself and is available
> for download at the Python Package Index.
>
> A brief summary of the email conversations:
>
> * The purpose of integrating PEP 3148 support is the intended shift
> towards a common API for creating asynchronous applications
> * Deferreds and Futures are alike in purpose but very different under
> the hood
> * Support for the Futures API cannot be integrated directly to Deferreds
> because of the "result" attribute which is a method in Future but a
> value in Deferred
> * Some people suggested wrapping Futures in Deferreds, though I have yet
> to hear a rationale for this
> * PEP 3148 executor support could be directly integrated to Twisted's
> thread pools (and by extension, reactors) as there are no naming
> conflicts that I'm aware of
>
> The main focus of the discussion is to figure out how to best integrate
> support for this new API to Twisted. If possible, existing protocols
> should remain compatible through the use of adapters or some other
> mechanism. If not, a way to port them over with a minimal amount of work
> would be the next target.
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>



More information about the Twisted-Python mailing list