Go to the latest version of this document.

# ``twisted`.`internet`.`protocol`.`_ProtoWithFactory``

class documentation

`class _ProtoWithFactory(TypingProtocol): (source)`

Implements interfaces: `twisted.internet.interfaces.IProtocol`

View In Hierarchy

Undocumented

Method | `connectionLost` | Called when the connection is shut down.
Method | `connectionMade` | Called when a connection is made.
Method | `dataReceived` | Called whenever data is received.
Method | `factory.setter` | Undocumented
Method | `makeConnection` | Make a connection to a transport and a server.
Property | `factory` | Undocumented

def connectionLost(self, reason: `Failure`): (source)
from `twisted.internet.interfaces.IProtocol`

Called when the connection is shut down.

Clear any circular references here, and any external references to this Protocol. The connection has been closed. The `reason` Failure wraps a `twisted.internet.error.ConnectionDone` or `twisted.internet.error.ConnectionLost` instance (or a subclass of one of those).

def connectionMade(self): (source)
from `twisted.internet.interfaces.IProtocol`

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 dataReceived(self, data: `bytes`): (source)
from `twisted.internet.interfaces.IProtocol`

Called whenever data is received.

Use this method to translate to a higher-level message. Usually, some callback will be made upon the receipt of each complete protocol message.

Please keep in mind that you will probably need to buffer some data as partial (or multiple) protocol messages may be received! We recommend that unit tests for protocols call through to this method with differing chunk sizes, down to one byte at a time.

Parameters
data:`bytes` | bytes of indeterminate length

@factory.setter
def factory(self, value: `Any`): (source)

Undocumented

def makeConnection(self, transport: `ITransport`): (source)
from `twisted.internet.interfaces.IProtocol`

Make a connection to a transport and a server.

@property
factory: `Factory[Self]` = (source)

Undocumented