[Twisted-Python] stop receiving from socket until processing finish

Rodrigo Strauss rodrigo at 1bit.com.br
Wed Aug 8 10:06:24 EDT 2007


Consider the following scenario (each component is a twisted app):

producer --> processor --> destination

I need to stop receiving producer data until I'm able to process it
and send to destination. Using sync sockets, the producer send() with
block if processor isn't recv'ing as fast as it can send. How can I do
this using twisted? Something like telling reactor to stop receiving
from a specific socket until I enable it back. When I send something
to destination, the reactor will come back to scene and recv data from

A simple solution is to make processor ask for data to process every
time, but when processor is fast enough it will hurt the performance
to much.


More information about the Twisted-Python mailing list