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

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

UDP port, listening for packets.

Instance Variable maxThroughput Maximum number of bytes read in one event loop iteration.
Instance Variable addressFamily socket.AF_INET or socket.AF_INET6, depending on whether this port is listening on an IPv4 address or an IPv6 address.
Method __init__
Method __repr__ Undocumented
Method getHandle Return a socket object.
Method startListening Create and bind my socket, and begin listening on it.
Method doRead Called when my socket is ready for reading.
Method write Write a datagram.
Method writeSequence Reliably write a sequence of data.
Method connect 'Connect' to remote server.
Method stopListening Stop listening on this port.
Method loseConnection Close the connection at the next available opportunity.
Method connectionLost Cleans up my socket.
Method setLogStr Initialize the logstr attribute to be used by logPrefix.
Method logPrefix Return the prefix to log with.
Method getHost Return the local address of the UDP connection
Method setBroadcastAllowed Set whether this port may broadcast. This is disabled by default.
Method getBroadcastAllowed Checks if broadcast is currently allowed on this port.
Instance Variable _realPortNumber Actual port number being listened on. The value will be None until this Port is listening.
Instance Variable _preexistingSocket 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).
Class Method _fromListeningDescriptor Create a new Port based on an existing listening SOCK_DGRAM socket.
Method _bindSocket Prepare and assign a socket.socket instance to self.socket.
Method _connectToProtocol Undocumented
Method _loseConnection Undocumented
Method _setAddressFamily Resolve address family for the socket.

Inherited from _LogOwner (via BasePort, FileDescriptor):

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

Inherited from _LogOwner (via BasePort, FileDescriptor):

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

Inherited from _LogOwner (via BasePort, FileDescriptor):

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

Inherited from _LogOwner (via BasePort, FileDescriptor):

Method _getLogPrefix Determine the log prefix to use for messages related to applicationObject, which may or may not be an interfaces.ILoggingContext provider.
maxThroughput =
Maximum number of bytes read in one event loop iteration.
addressFamily =
socket.AF_INET or socket.AF_INET6, depending on whether this port is listening on an IPv4 address or an IPv6 address.
_realPortNumber =
Actual port number being listened on. The value will be None until this Port is listening.
_preexistingSocket =
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).
def __init__(self, port, proto, interface='', maxPacketSize=8192, reactor=None): (source)
ParametersportA port number on which to listen. (type: int)
protoA DatagramProtocol instance which will be connected to the given port. (type: twisted.internet.protocol.DatagramProtocol)
interfaceThe local IPv4 or IPv6 address to which to bind; defaults to '', ie all IPv4 addresses. (type: str)
maxPacketSizeThe maximum packet size to accept. (type: int)
reactorA reactor which will notify this Port when its socket is ready for reading or writing. Defaults to None, ie the default global reactor. (type: interfaces.IReactorFDSet)
@classmethod
def _fromListeningDescriptor(cls, reactor, fd, addressFamily, protocol, maxPacketSize): (source)

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

ParametersreactorA reactor which will notify this Port when its socket is ready for reading or writing. Defaults to None, ie the default global reactor. (type: interfaces.IReactorFDSet)
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. (type: int)
addressFamilyThe address family (sometimes called domain) of the existing socket. For example, socket.AF_INET.
addressFamilyint
protocolA DatagramProtocol instance which will be connected to the port.
maxPacketSizeThe maximum packet size to accept. (type: int)
ReturnsA new instance of cls wrapping the socket given by fd. (type: Port)
def __repr__(self): (source)
Undocumented
def getHandle(self): (source)

Return a socket object.

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 _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 write(self, datagram, addr=None): (source)

Write a datagram.

ParametersdatagramThe datagram to be sent. (type: str)
addrA tuple of (stringified IPv4 or IPv6 address, integer port number); can be None in connected mode. (type: tuple containing str as first element and int as second element, or None)
def writeSequence(self, seq, addr): (source)

Reliably write a sequence of data.

Currently, this is a convenience method roughly equivalent to:

   for chunk in iovec:
       fd.write(chunk)

It may have a more efficient implementation at a later time or in a different reactor.

As with the write() method, if a buffer size limit is reached and a streaming producer is registered, it will be paused until the buffered data is written to the underlying file descriptor.

def connect(self, host, port): (source)

'Connect' to remote server.

def _loseConnection(self): (source)
Undocumented
def stopListening(self): (source)

Stop listening on this port.

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

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 setLogStr(self): (source)

Initialize the logstr attribute to be used by logPrefix.

def _setAddressFamily(self): (source)

Resolve address family for the socket.

def getHost(self): (source)

Return the local address of the UDP connection

Returnsthe local address of the UDP connection (type: IPv4Address or IPv6Address)
def setBroadcastAllowed(self, enabled): (source)

Set whether this port may broadcast. This is disabled by default.

ParametersenabledWhether the port may broadcast. (type: bool)
def getBroadcastAllowed(self): (source)

Checks if broadcast is currently allowed on this port.

ReturnsWhether this port may broadcast. (type: bool)
API Documentation for Twisted, generated by pydoctor at 2016-04-04 15:02:49.