twisted.internet.test.test_tcp.StreamingProducerClient(ConnectableProtocol)
class documentationtwisted.internet.test.test_tcp
(View In Hierarchy)
Known subclasses: twisted.internet.test.test_tcp.StreamingProducerClientLater
Call abortConnection() when the other side has stopped reading.
In particular, we want to call abortConnection() only once our local socket hits a state where it is no longer writeable. This helps emulate the most common use case for abortConnection(), closing a connection after a timeout, with write buffers being full.
Since it's very difficult to know when this actually happens, we just write a lot of data, and assume at that point no more writes will happen.
Method | connectionMade | Called when a connection is made. |
Method | write | Write large amount to transport, then wait for a while for buffers to fill up. |
Method | resumeProducing | Undocumented |
Method | stopProducing | Undocumented |
Method | pauseProducing | Called when local buffer fills up. |
Method | doAbort | Undocumented |
Method | connectionLost | Called when the connection is shut down. |
Inherited from ConnectableProtocol:
Instance Variable | reactor | The reactor used in this test. |
Instance Variable | disconnectReason | The Failure
passed to connectionLost . |
Instance Variable | _done | A Deferred
which will be fired when the connection is lost. |
Method | _setAttributes | Set attributes on the protocol that are known only externally; this will
be called by runProtocolsWithReactor
when this protocol is instantiated. |
Inherited from Protocol (via ConnectableProtocol):
Method | logPrefix | Return a prefix matching the class name, to identify log messages related to this protocol instance. |
Method | dataReceived | Called whenever data is received. |
Inherited from BaseProtocol (via ConnectableProtocol, Protocol):
Method | makeConnection | Make a connection to a transport and a server. |
Called when a connection is made.
This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.
Called when local buffer fills up.
The goal is to hit the point where the local file descriptor is not writeable (or the moral equivalent). The fact that pauseProducing has been called is not sufficient, since that can happen when Twisted's buffers fill up but OS hasn't gotten any writes yet. We want to be as close as possible to every buffer (including OS buffers) being full.
So, we wait a bit more after this for Twisted to write out a few chunks, then abortConnection.