Interface t.i.i.IHalfCloseableProtocol(Interface):

Part of twisted.internet.interfaces View Source View In Hierarchy

Known implementations: twisted.web2.channel.cgi.BaseCGIChannelRequest, twisted.web2.channel.http.HTTPChannel

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.
Line # Kind Name Docs
1232 Method readConnectionLost Notification of the read connection being closed.
1247 Method writeConnectionLost Notification of the write connection being closed.
def readConnectionLost(): (source)

Notification of the read connection being closed.

This indicates peer did half-close of write side. It is now the responsiblity 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.
def writeConnectionLost(): (source)

Notification of the write connection being closed.

This will never be called for TCP connections as TCP does not support notification of this type of half-close.
API Documentation for Twisted, generated by pydoctor at 2008-10-26 16:12:37.