Common interface for protocol interfaces.
Usually user implements protocols that derived from BaseProtocol like Protocol or ProcessProtocol.
The only case when BaseProtocol should be implemented directly is write-only transport like write pipe
Called when the connection is lost or closed.
Called when a connection is made.
Called when the transport’s buffer goes over the high-water mark.
Called when the transport’s buffer drains below the low-water mark.