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.
def connectionMade(self):

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.

def write(self):

Write large amount to transport, then wait for a while for buffers to fill up.

def resumeProducing(self):
Undocumented
def stopProducing(self):
Undocumented
def pauseProducing(self):

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.

def doAbort(self):
Undocumented
def connectionLost(self, reason):

Called when the connection is shut down.

Clear any circular references here, and any external references to this Protocol. The connection has been closed.

API Documentation for twisted, generated by pydoctor at 2020-03-25 17:34:30.