[Twisted-Python] Deferreds and progress

Tobias Oberstein tobias.oberstein at tavendo.de
Thu Jul 26 14:44:48 EDT 2012

>>On Thu, Jul 26, 2012 at 1:51 PM, Tobias Oberstein <tobias.oberstein at tavendo.de> wrote:
>>With Twisted, a Deferred can have it's callback only triggered once.
>>With Deferreds in popular JavaScript libraries (when.js, jQuery Deferred, upcoming JS PromiseA proposal),
>>there is a "progress()" callback for receiving results incrementally (or merely reporting on progress
>>until the final result arrives). Progress can be triggered more than once.
>>Is there anything comparable in Twisted?

>For chunks of data, Protocols; e.g. twisted.web.client.Agent delivers HTTP response bodies to a Protocol instance. More generally, Glyph is working on this: http://twistedmatrix.com/trac/ticket/1956

Thanks for pointing. So if something like this is added to Twisted, it will be within producer/consumer, and not added to Deferred?

The reason I am asking: Autobahn implements RPC over WebSocket, and people have been asking why RPC results
can't be delivered in parts, as progress. However, an Autobahn RPC returns a Deferred, not a producer.

More information about the Twisted-Python mailing list