twisted.internet.interfaces.IHalfCloseableProtocol(Interface)
interface documentationtwisted.internet.interfaces
(View In Hierarchy)
Known implementations: twisted.internet.test.test_endpoints.TestHalfCloseableProtocol, twisted.test.process_twisted.Echo, twisted.test.stdio_test_halfclose.HalfCloseProtocol, twisted.test.test_tcp.MyHCProtocol
Implemented to indicate they want notification of half-closes.
TCP supports the notion of half-closing the connection, e.g. closing the write side but still not stopping reading. A protocol that implements this interface will be notified of such events, instead of having connectionLost called.
Method | readConnectionLost | Notification of the read connection being closed. |
Method | writeConnectionLost | Notification of the write connection being closed. |
Notification of the read connection being closed.
This indicates peer did half-close of write side. It is now the responsibility of the this protocol to call loseConnection(). In addition, the protocol MUST make sure a reference to it still exists (i.e. by doing a callLater with one of its methods, etc.) as the reactor will only have a reference to it if it is writing.
If the protocol does not do so, it might get garbage collected without the connectionLost method ever being called.