[Twisted-Python] Flow control

Tobias Oberstein tobias.oberstein at tavendo.de
Thu Aug 11 17:13:47 EDT 2011

For a test driver for a TCP-based protocol (written in Twisted) I want to send data to a
receiver as fast as the receiver can consume data, but not faster.

Apparently, a naive loop which just does transport.write() does not work. When I do
reactor.select(0) between the writes, it somehow works, but memory consumption
of sender is growing fast, since I guess data is buffered within Twisted, right?

I then got over implementing my own application level flow control, where the
receiver gives feedback of how much it has consumed, and the sender throttles
itself to that.

However, isn't there a simpler way (without application level flow control)?

In the end, the sender TCP stack must have knowledge of it's window size ..
is there a way to get at that info?

What is the recommended way?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-python/attachments/20110811/b8f0c423/attachment.htm 

More information about the Twisted-Python mailing list