class StreamingProducerClient(ConnectableProtocol): (source)
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 | connection |
Called when the connection is shut down. |
Method | connection |
Called when a connection is made. |
Method | do |
Undocumented |
Method | pause |
Called when local buffer fills up. |
Method | resume |
Undocumented |
Method | stop |
Undocumented |
Method | write |
Write large amount to transport, then wait for a while for buffers to fill up. |
Class Variable | extra |
Undocumented |
Instance Variable | in |
Undocumented |
Instance Variable | paused |
Undocumented |
Inherited from ConnectableProtocol
:
Instance Variable | disconnect |
The Failure passed to connectionLost. |
Instance Variable | reactor |
The reactor used in this test. |
Method | _set |
Set attributes on the protocol that are known only externally; this will be called by runProtocolsWithReactor when this protocol is instantiated. |
Instance Variable | _done |
A Deferred which will be fired when the connection is lost. |
Inherited from Protocol
(via ConnectableProtocol
):
Method | data |
Called whenever data is received. |
Method | log |
Return a prefix matching the class name, to identify log messages related to this protocol instance. |
Class Variable | factory |
Undocumented |
Inherited from BaseProtocol
(via ConnectableProtocol
, Protocol
):
Method | make |
Make a connection to a transport and a server. |
Instance Variable | connected |
Undocumented |
Instance Variable | transport |
Undocumented |
Called when the connection is shut down.
Clear any circular references here, and any external references to this Protocol. The connection has been closed.
Parameters | |
reason:twisted.python.failure.Failure | Undocumented |
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.