Go to the latest version of this document.

# ``twisted`.`internet`.`iocpreactor`.`udp`.`Port``

class documentation

`class Port(abstract.FileHandle): (source)`

Known subclasses: `twisted.internet.iocpreactor.udp.MulticastPort`

Constructor: `Port(port, proto, interface, maxPacketSize, ...)`

Implements interfaces: `twisted.internet.interfaces.IListeningPort`, `twisted.internet.interfaces.ISystemHandle`, `twisted.internet.interfaces.IUDPTransport`, `twisted.internet.iocpreactor.interfaces.IReadWriteHandle`

View In Hierarchy

UDP port, listening for packets.

Method | `__init__` | Initialize with a numeric port to listen on.
Method | `__repr__` | Undocumented
Method | `cbRead` | Undocumented
Method | `connect` | 'Connect' to remote server.
Method | `connectionLost` | Cleans up my socket.
Method | `createSocket` | Undocumented
Method | `doRead` | Undocumented
Method | `getBroadcastAllowed` | Checks if broadcast is currently allowed on this port.
Method | `getHandle` | Return a socket object.
Method | `getHost` | Return the local address of the UDP connection
Method | `handleRead` | Undocumented
Method | `logPrefix` | Returns the name of my class, to prefix log entries with.
Method | `loseConnection` | Close the connection at the next available opportunity.
Method | `setBroadcastAllowed` | Set whether this port may broadcast. This is disabled by default.
Method | `setLogStr` | Initialize the `logstr` attribute to be used by `logPrefix`.
Method | `startListening` | Create and bind my socket, and begin listening on it.
Method | `stopListening` | Stop listening on this port.
Method | `write` | Write a datagram.
Method | `writeSequence` | Write an iterable of byte strings to the physical connection.
Class Variable | `dynamicReadBuffers` | Undocumented
Instance Variable | `addressBuffer` | Undocumented
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.
Instance Variable | `addressLengthBuffer` | Undocumented
Instance Variable | `connected` | Undocumented
Instance Variable | `d` | Undocumented
Instance Variable | `interface` | Undocumented
Instance Variable | `logstr` | Undocumented
Instance Variable | `port` | Undocumented
Instance Variable | `protocol` | Undocumented
Instance Variable | `reactor` | Undocumented
Instance Variable | `readBufferSize` | Undocumented
Instance Variable | `socket` | Undocumented
Method | `_bindSocket` | Undocumented
Method | `_connectToProtocol` | Undocumented
Method | `_loseConnection` | Undocumented
Method | `_setAddressFamily` | Resolve address family for the socket.
Instance Variable | `_connectedAddr` | Undocumented
Instance Variable | `_realPortNumber` | Undocumented

Inherited from `FileHandle`:

Method | `dataReceived` | Undocumented
Method | `doWrite` | Undocumented
Method | `getFileHandle` | Undocumented
Method | `getPeer` | Get the remote address of this connection.
Method | `loseWriteConnection` | Undocumented
Method | `pauseProducing` | Pause producing data.
Method | `readConnectionLost` | Indicates read connection was lost.
Method | `readFromHandle` | Undocumented
Method | `resumeProducing` | Resume producing data.
Method | `startReading` | Undocumented
Method | `startWriting` | Override in a subclass to cause the reactor to monitor this selectable for write events. This will be called once in `unregisterProducer` if `loseConnection` has previously been called, so that the connection can actually close.
Method | `stopConsuming` | Stop consuming data.
Method | `stopProducing` | Stop producing data.
Method | `stopReading` | Undocumented
Method | `stopWriting` | Undocumented
Method | `writeConnectionLost` | Indicates write connection was lost.
Method | `writeToHandle` | Undocumented
Constant | `SEND_LIMIT` | Undocumented
Class Variable | `disconnecting` | Undocumented
Class Variable | `maxReadBuffers` | Undocumented
Class Variable | `writeBufferSize` | Undocumented
Instance Variable | `dataBuffer` | Undocumented
Instance Variable | `disconnected` | Undocumented
Instance Variable | `offset` | Undocumented
Instance Variable | `producer` | Undocumented
Instance Variable | `producerPaused` | Undocumented
Instance Variable | `reading` | Undocumented
Instance Variable | `writing` | Undocumented
Method | `_cbRead` | Undocumented
Method | `_cbWrite` | Undocumented
Method | `_closeWriteConnection` | Undocumented
Method | `_dispatchData` | Dispatch previously read data. Return True if self.reading and we don't have any more data
Method | `_handleRead` | Returns False if we should stop reading for now
Method | `_handleWrite` | Returns false if we should stop writing for now
Method | `_resumeReading` | Undocumented
Method | `_resumeWriting` | Undocumented
Class Variable | `_writeDisconnected` | Undocumented
Instance Variable | `_readBuffers` | Undocumented
Instance Variable | `_readNextBuffer` | Undocumented
Instance Variable | `_readScheduled` | Undocumented
Instance Variable | `_readScheduledInOS` | Undocumented
Instance Variable | `_readSize` | Undocumented
Instance Variable | `_tempDataBuffer` | Undocumented
Instance Variable | `_tempDataLen` | Undocumented
Instance Variable | `_writeDisconnecting` | Undocumented
Instance Variable | `_writeScheduled` | Undocumented

Inherited from `_ConsumerMixin` (via `FileHandle`):

Method | `registerProducer` | Register to receive data from a producer.
Method | `unregisterProducer` | Stop consuming data from a producer, without disconnecting.
Instance Variable | `streamingProducer` | `bool` or `int`

Inherited from `_LogOwner` (via `FileHandle`, `_ConsumerMixin`):

Method | `_getLogPrefix` | 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: `int`, proto: `AbstractDatagramProtocol`, interface: `str` = '', maxPacketSize: `int` = 8192, reactor: `IOCPReactor | None` = None): (source)
overrides `twisted.internet.iocpreactor.abstract.FileHandle.__init__`
overridden in `twisted.internet.iocpreactor.udp.MulticastPort`

Initialize with a numeric port to listen on.

def __repr__(self) -> `str`: (source)

Undocumented

def cbRead(self, rc, data, evt): (source)

Undocumented

def connect(self, host, port): (source)
from `twisted.internet.interfaces.IUDPTransport`

'Connect' to remote server.

def connectionLost(self, reason=None): (source)
overrides `twisted.internet.iocpreactor.abstract.FileHandle.connectionLost`

Cleans up my socket.

def createSocket(self) -> `socket.socket`: (source)
overridden in `twisted.internet.iocpreactor.udp.MulticastPort`

Undocumented

def doRead(self): (source)
overrides `twisted.internet.iocpreactor.abstract.FileHandle.doRead`

Undocumented

def getBroadcastAllowed(self): (source)
from `twisted.internet.interfaces.IUDPTransport`

Checks if broadcast is currently allowed on this port.

Returns
`bool` | Whether this port may broadcast.

def getHandle(self): (source)
from `twisted.internet.interfaces.ISystemHandle`

Return a socket object.

def getHost(self): (source)
from `twisted.internet.interfaces.IListeningPort`
overrides `twisted.internet.iocpreactor.abstract.FileHandle.getHost`

Return the local address of the UDP connection

Returns
`IPv4Address` or `IPv6Address` | the local address of the UDP connection

def handleRead(self, rc, data, evt): (source)

Undocumented

def logPrefix(self): (source)
from `twisted.internet.interfaces.ILoggingContext`
overrides `twisted.internet.abstract._LogOwner.logPrefix`

Returns the name of my class, to prefix log entries with.

def loseConnection(self): (source)
from `twisted.internet.interfaces.ITransport`
overrides `twisted.internet.iocpreactor.abstract.FileHandle.loseConnection`

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)
from `twisted.internet.interfaces.IUDPTransport`

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

Parameters
enabled:`bool` | Whether the port may broadcast.

def setLogStr(self): (source)

Initialize the `logstr` attribute to be used by `logPrefix`.

def startListening(self): (source)
from `twisted.internet.interfaces.IListeningPort`

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)
from `twisted.internet.interfaces.IListeningPort`

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)
from `twisted.internet.interfaces.IUDPTransport`
overrides `twisted.internet.iocpreactor.abstract.FileHandle.write`

Write a datagram.

Parameters
datagram | Undocumented
addr | should be a tuple (ip, port), can be None in connected mode.

def writeSequence(self, seq, addr): (source)
from `twisted.internet.interfaces.ITransport`
overrides `twisted.internet.iocpreactor.abstract.FileHandle.writeSequence`

Write an iterable of byte strings to the physical connection.

If possible, make sure that all of the data is written to the socket at once, without first copying it all into a single byte string.

Parameters
seq | Undocumented
addr | Undocumented
data | The data to write.

dynamicReadBuffers: `bool` = (source)
overrides `twisted.internet.iocpreactor.abstract.FileHandle.dynamicReadBuffers`

Undocumented

addressBuffer = (source)

Undocumented

addressFamily = (source)

`socket.AF_INET` or `socket.AF_INET6`, depending on whether this port is listening on an IPv4 address or an IPv6 address.

addressLengthBuffer = (source)

Undocumented

connected: `bool` = (source)
overrides `twisted.internet.iocpreactor.abstract.FileHandle.connected`

Undocumented

d = (source)

Undocumented

interface = (source)

Undocumented

logstr = (source)
overrides `twisted.internet.iocpreactor.abstract.FileHandle.logstr`

Undocumented

port = (source)

Undocumented

protocol = (source)

Undocumented

reactor: `IOCPReactor` = (source)
overrides `twisted.internet.iocpreactor.abstract.FileHandle.reactor`

Undocumented

readBufferSize = (source)
overrides `twisted.internet.iocpreactor.abstract.FileHandle.readBufferSize`

Undocumented

socket = (source)

Undocumented

def _bindSocket(self): (source)

Undocumented

def _connectToProtocol(self): (source)

Undocumented

def _loseConnection(self): (source)

Undocumented

def _setAddressFamily(self): (source)

Resolve address family for the socket.

_connectedAddr = (source)

Undocumented

_realPortNumber: `int | None` = (source)

Undocumented