class documentation

class Port(base.BasePort): (source)

Known subclasses: twisted.internet.udp.MulticastPort, twisted.internet.unix.DatagramPort

Implements interfaces: twisted.internet.interfaces.IListeningPort, twisted.internet.interfaces.ISystemHandle, twisted.internet.interfaces.IUDPTransport

View In Hierarchy

UDP port, listening for packets.
Method __init__
Method __repr__ Undocumented
Method connect 'Connect' to remote server.
Method connection​Lost Cleans up my socket.
Method do​Read Called when my socket is ready for reading.
Method get​Broadcast​Allowed Checks if broadcast is currently allowed on this port.
Method get​Handle Return a socket object.
Method get​Host Return the local address of the UDP connection
Method log​Prefix Return the prefix to log with.
Method lose​Connection Close the connection at the next available opportunity.
Method set​Broadcast​Allowed Set whether this port may broadcast. This is disabled by default.
Method set​Log​Str Initialize the logstr attribute to be used by logPrefix.
Method start​Listening Create and bind my socket, and begin listening on it.
Method stop​Listening Stop listening on this port.
Method write Write a datagram.
Method write​Sequence Write a datagram constructed from an iterable of bytes.
Instance Variable address​Family socket.AF_INET or socket.AF_INET6, depending on whether this port is listening on an IPv4 address or an IPv6 address.
Instance Variable connected Undocumented
Instance Variable d Undocumented
Instance Variable interface Undocumented
Instance Variable logstr Undocumented
Instance Variable max​Packet​Size Undocumented
Instance Variable max​Throughput Maximum number of bytes read in one event loop iteration.
Instance Variable port Undocumented
Instance Variable protocol Undocumented
Instance Variable socket Undocumented
Class Method _from​Listening​Descriptor Create a new Port based on an existing listening SOCK_DGRAM socket.
Method _bind​Socket Prepare and assign a socket.socket instance to self.socket.
Method _connect​To​Protocol Undocumented
Method _lose​Connection Undocumented
Method _set​Address​Family Resolve address family for the socket.
Instance Variable _connected​Addr 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 Actual port number being listened on. The value will be None until this Port is listening.

Inherited from BasePort:

Method create​Internet​Socket Undocumented
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​Connection​Lost Indicates write connection was lost.
Method write​Some​Data Write as much as possible of the given data, immediately.
Constant SEND​_LIMIT Undocumented
Class Variable buffer​Size Undocumented
Class Variable disconnecting 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.
def __init__(self, port, proto, interface='', maxPacketSize=8192, reactor=None): (source)
Parameters
port:intA port number on which to listen.
proto:twisted.internet.protocol.DatagramProtocolA DatagramProtocol instance which will be connected to the given port.
interface:strThe local IPv4 or IPv6 address to which to bind; defaults to '', ie all IPv4 addresses.
max​Packet​Size:intThe maximum packet size to accept.
reactor:interfaces.IReactorFDSetA reactor which will notify this Port when its socket is ready for reading or writing. Defaults to None, ie the default global reactor.
def __repr__(self): (source)

Undocumented

Returns
strUndocumented
def connect(self, host, port): (source)
'Connect' to remote server.
def getBroadcastAllowed(self): (source)
Checks if broadcast is currently allowed on this port.
Returns
boolWhether this port may broadcast.
def getHandle(self): (source)
Return a socket object.
def getHost(self): (source)
Return the local address of the UDP connection
Returns
IPv4Address or IPv6Addressthe local address of the UDP connection
def loseConnection(self): (source)

Close the connection at the next available opportunity.

Call this to cause this FileDescriptor to lose its connection. It will first write any data that it has buffered.

If there is data buffered yet to be written, this method will cause the transport to lose its connection as soon as it's done flushing its write buffer. If you have a producer registered, the connection won't be closed until the producer is finished. Therefore, make sure you unregister your producer when it's finished, or the connection will never close.

def setBroadcastAllowed(self, enabled): (source)
Set whether this port may broadcast. This is disabled by default.
Parameters
enabled:boolWhether the port may broadcast.
def setLogStr(self): (source)
Initialize the logstr attribute to be used by logPrefix.
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.

def stopListening(self): (source)

Stop listening on this port.

If it does not complete immediately, will return Deferred that fires upon completion.

def write(self, datagram, addr=None): (source)
Write a datagram.
Parameters
datagram:bytesThe datagram to be sent.
addr:tuple containing str as first element and int as second element, or NoneA tuple of (stringified IPv4 or IPv6 address, integer port number); can be None in connected mode.
def writeSequence(self, seq, addr): (source)
Write a datagram constructed from an iterable of bytes.
Parameters
seq:an iterable of bytesThe data that will make up the complete datagram to be written.
addr:tuple containing str as first element and int as second element, or NoneA tuple of (stringified IPv4 or IPv6 address, integer port number); can be None in connected mode.
addressFamily = (source)
socket.AF_INET or socket.AF_INET6, depending on whether this port is listening on an IPv4 address or an IPv6 address.

Undocumented

interface = (source)

Undocumented

logstr = (source)

Undocumented

maxPacketSize = (source)

Undocumented

maxThroughput: int = (source)
Maximum number of bytes read in one event loop iteration.
port = (source)

Undocumented

protocol = (source)

Undocumented

socket = (source)

Undocumented

@classmethod
def _fromListeningDescriptor(cls, reactor, fd, addressFamily, protocol, maxPacketSize): (source)
Create a new Port based on an existing listening SOCK_DGRAM socket.
Parameters
reactor:interfaces.IReactorFDSetA reactor which will notify this Port when its socket is ready for reading or writing. Defaults to None, ie the default global reactor.
fd:intAn 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​Family:intThe address family (sometimes called domain) of the existing socket. For example, socket.AF_INET.
protocol:twisted.internet.protocol.DatagramProtocolA DatagramProtocol instance which will be connected to the port.
max​Packet​Size:intThe maximum packet size to accept.
Returns
PortA new instance of cls wrapping the socket given by fd.
def _bindSocket(self): (source)

Prepare and assign a socket.socket instance to self.socket.

Either creates a new SOCK_DGRAM socket.socket bound to self.interface and self.port or takes an existing socket.socket provided via the interfaces.IReactorSocket.adoptDatagramPort interface.

def _connectToProtocol(self): (source)

Undocumented

def _loseConnection(self): (source)

Undocumented

def _setAddressFamily(self): (source)
Resolve address family for the socket.
_connectedAddr = (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)
Actual port number being listened on. The value will be None until this Port is listening.