class documentation

class Port(base.BasePort, _SocketCloser): (source)

Known subclasses: twisted.internet.ssl.Port, twisted.internet.unix.Port

Implements interfaces: twisted.internet.interfaces.IListeningPort

View In Hierarchy

A TCP server port, listening for connections.

When a connection is accepted, this will call a factory's buildProtocol with the incoming address as an argument, according to the specification described in twisted.internet.interfaces.IProtocolFactory.

If you wish to change the sort of transport that will be used, the transport attribute will be called with the signature expected for Server.__init__, so it can be replaced.

Method __init__ Initialize with a numeric port to listen on.
Method __repr__ Undocumented
Method connection​Lost Cleans up the socket.
Method create​Internet​Socket Undocumented
Method do​Read Called when my socket is ready for reading.
Method get​Host Return an IPv4Address or IPv6Address indicating the listening address of this port.
Method log​Prefix Returns the name of my class, to prefix log entries with.
Method lose​Connection Stop accepting connections on this port.
Method start​Listening Create and bind my socket, and begin listening on it.
Instance Variable address​Family Undocumented
Instance Variable backlog Undocumented
Instance Variable connected flag set once the listen has successfully been called on the socket.
Instance Variable deferred a deferred created when stopListening is called, and that will fire when connection is lost. This is not to be used it directly: prefer the deferred returned by stopListening instead.
Instance Variable disconnecting flag indicating that the stopListening method has been called and that no connections should be accepted anymore.
Instance Variable factory Undocumented
Instance Variable interface Undocumented
Instance Variable number​Accepts Undocumented
Instance Variable port Undocumented
Instance Variable sessionno Undocumented
Instance Variable socket Undocumented
Class Method _from​Listening​Descriptor Create a new Port based on an existing listening SOCK_STREAM socket.
Method _build​Addr Undocumented
Method _log​Connection​Lost​Msg Log message for closing port
Class Variable _logger Undocumented
Instance Variable _address​Type Undocumented
Instance Variable _preexisting​Socket If not None, a socket.socket instance which was created and initialized outside of the reactor and will be used to listen for connections (instead of a new socket being created by this Port).
Instance Variable _real​Port​Number Undocumented
Instance Variable _type A string describing the connections which will be created by this port. Normally this is "TCP", since this is a TCP port, but when the TLS implementation re-uses this class it overrides the value with "TLS". Only used for logging.

Inherited from BasePort:

Method do​Write Raises a RuntimeError
Class Variable socket​Type Undocumented

Inherited from FileDescriptor (via BasePort):

Method fileno File Descriptor number for select().
Method get​Peer Get the remote address of this connection.
Method lose​Write​Connection Undocumented
Method pause​Producing Pause producing data.
Method read​Connection​Lost Indicates read connection was lost.
Method resume​Producing Resume producing data.
Method start​Reading Start waiting for read availability.
Method start​Writing Start waiting for write availability.
Method stop​Consuming Stop consuming data.
Method stop​Producing Stop producing data.
Method stop​Reading Stop waiting for read availability.
Method stop​Writing Stop waiting for write availability.
Method write Reliably write some data.
Method write​Connection​Lost Indicates write connection was lost.
Method write​Sequence Reliably write a sequence of data.
Method write​Some​Data Write as much as possible of the given data, immediately.
Constant SEND​_LIMIT Undocumented
Class Variable buffer​Size Undocumented
Instance Variable data​Buffer Undocumented
Instance Variable disconnected Undocumented
Instance Variable offset Undocumented
Instance Variable producer Undocumented
Instance Variable producer​Paused Undocumented
Instance Variable reactor Undocumented
Method _close​Write​Connection Undocumented
Method _is​Send​Buffer​Full Determine whether the user-space send buffer for this transport is full or not.
Method _maybe​Pause​Producer Possibly pause a producer, if there is one and the send buffer is full.
Method _post​Lose​Connection Called after a loseConnection(), when all data has been written.
Class Variable _write​Disconnected Undocumented
Instance Variable _temp​Data​Buffer Undocumented
Instance Variable _temp​Data​Len Undocumented
Instance Variable _write​Disconnecting Undocumented

Inherited from _ConsumerMixin (via BasePort, FileDescriptor):

Method register​Producer Register to receive data from a producer.
Method unregister​Producer Stop consuming data from a producer, without disconnecting.
Instance Variable streaming​Producer bool or int

Inherited from _LogOwner (via BasePort, FileDescriptor):

Method _get​Log​Prefix Determine the log prefix to use for messages related to applicationObject, which may or may not be an interfaces.ILoggingContext provider.

Inherited from _SocketCloser:

Method _close​Socket Undocumented
Instance Variable _should​Shutdown Set to True if shutdown should be called before calling close on the underlying socket.
def __init__(self, port, factory, backlog=50, interface='', reactor=None): (source)
Initialize with a numeric port to listen on.
def __repr__(self): (source)

Undocumented

Returns
strUndocumented
def createInternetSocket(self): (source)
def doRead(self): (source)

Called when my socket is ready for reading.

This accepts a connection and calls self.protocol() to handle the wire-level protocol.

def getHost(self): (source)
Return an IPv4Address or IPv6Address indicating the listening address of this port.
def logPrefix(self): (source)
Returns the name of my class, to prefix log entries with.
def loseConnection(self, connDone=failure.Failure(main.CONNECTION_DONE)): (source)

Stop accepting connections on this port.

This will shut down the socket and call self.connectionLost(). It returns a deferred which will fire successfully when the port is actually closed, or with a failure if an error occurs shutting down.

def startListening(self): (source)

Create and bind my socket, and begin listening on it.

This is called on unserialization, and must be called after creating a server to begin listening on the specified port.

addressFamily = (source)
backlog = (source)

Undocumented

connected: bool = (source)
flag set once the listen has successfully been called on the socket.
a deferred created when stopListening is called, and that will fire when connection is lost. This is not to be used it directly: prefer the deferred returned by stopListening instead.
disconnecting: bool = (source)
flag indicating that the stopListening method has been called and that no connections should be accepted anymore.
factory = (source)

Undocumented

interface = (source)

Undocumented

numberAccepts: int = (source)

Undocumented

port = (source)

Undocumented

sessionno = (source)

Undocumented

socket = (source)

Undocumented

@classmethod
def _fromListeningDescriptor(cls, reactor, fd, addressFamily, factory): (source)

Create a new Port based on an existing listening SOCK_STREAM socket.

Arguments are the same as to Port.__init__, except where noted.

Parameters
reactorUndocumented
fdAn integer file descriptor associated with a listening socket. The socket must be in non-blocking mode. Any additional attributes desired, such as FD_CLOEXEC, must also be set already.
address​FamilyThe address family (sometimes called domain) of the existing socket. For example, socket.AF_INET.
factoryUndocumented
Returns
A new instance of cls wrapping the socket given by fd.
def _buildAddr(self, address): (source)

Undocumented

def _logConnectionLostMsg(self): (source)
Log message for closing port
_logger = (source)

Undocumented

_addressType = (source)

Undocumented

_preexistingSocket = (source)
If not None, a socket.socket instance which was created and initialized outside of the reactor and will be used to listen for connections (instead of a new socket being created by this Port).
_realPortNumber = (source)

Undocumented

_type: str = (source)
A string describing the connections which will be created by this port. Normally this is "TCP", since this is a TCP port, but when the TLS implementation re-uses this class it overrides the value with "TLS". Only used for logging.