twisted.internet.udp.Port(base.BasePort)
class documentationtwisted.internet.udp
View Source
(View In Hierarchy)
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 | Write a datagram constructed from an iterable of bytes . |
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 BasePort:
Method | createInternetSocket | Undocumented |
Method | doWrite | Raises a RuntimeError |
Inherited from FileDescriptor (via BasePort):
Method | writeSomeData | Write as much as possible of the given data, immediately. |
Method | writeConnectionLost | Indicates write connection was lost. |
Method | readConnectionLost | Indicates read connection was lost. |
Method | loseWriteConnection | Undocumented |
Method | stopReading | Stop waiting for read availability. |
Method | stopWriting | Stop waiting for write availability. |
Method | startReading | Start waiting for read availability. |
Method | startWriting | Start waiting for write availability. |
Method | stopConsuming | Stop consuming data. |
Method | resumeProducing | Resume producing data. |
Method | pauseProducing | Pause producing data. |
Method | stopProducing | Stop producing data. |
Method | fileno | File Descriptor number for select(). |
Method | _postLoseConnection | Called after a loseConnection(), when all data has been written. |
Method | _closeWriteConnection | Undocumented |
Method | _isSendBufferFull | Determine whether the user-space send buffer for this transport is full or not. |
Method | _maybePauseProducer | Possibly pause a producer, if there is one and the send buffer is full. |
Inherited from _ConsumerMixin (via BasePort, FileDescriptor):
Instance Variable | producer | None
if no producer is registered, otherwise the registered producer. |
Instance Variable | producerPaused | A flag indicating whether the producer is currently paused. (type: bool ) |
Instance Variable | streamingProducer 0 | A flag indicating whether the producer was registered as a streaming (ie
push) producer or not (ie a pull producer). This will determine whether
the consumer may ever need to pause and resume it, or if it can merely call
resumeProducing on it when buffer space is available. |
Instance Variable | streamingProducer | bool or int |
Method | registerProducer | Register to receive data from a producer. |
Method | unregisterProducer | Stop consuming data from a producer, without disconnecting. |
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. |
socket.AF_INET
or socket.AF_INET6
,
depending on whether this port is listening on an IPv4 address or an IPv6
address.
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
).
Parameters | port | A port number on which to listen. (type: int ) |
proto | A DatagramProtocol instance which will be connected to the
given port . (type: twisted.internet.protocol.DatagramProtocol ) | |
interface | The local IPv4 or IPv6 address to which to bind; defaults to '', ie all
IPv4 addresses. (type: str ) | |
maxPacketSize | The maximum packet size to accept. (type: int ) | |
reactor | A 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 ) |
Create a new Port
based on an
existing listening SOCK_DGRAM socket.
Parameters | reactor | A 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 ) |
fd | An 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 ) | |
addressFamily | The address family (sometimes called domain) of the existing socket.
For example, socket.AF_INET . | |
addressFamily | int | |
protocol | A DatagramProtocol instance which will be connected to the
port . | |
maxPacketSize | The maximum packet size to accept. (type: int ) | |
Returns | A new instance of cls wrapping the socket given by
fd . (type: Port ) |
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.
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.
Called when my socket is ready for reading.
Write a datagram constructed from an iterable of bytes
.
Parameters | seq | The data that will make up the complete datagram to be written. (type: an iterable of bytes ) |
addr | A 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 ) |
Stop listening on this port.
If it does not complete immediately, will return Deferred that fires upon completion.
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.
Cleans up my socket.
Initialize the logstr
attribute to be used by
logPrefix
.
Return the local address of the UDP connection
Returns | the local address of the UDP connection (type: IPv4Address
or IPv6Address ) |
Set whether this port may broadcast. This is disabled by default.
Parameters | enabled | Whether the port may broadcast. (type: bool ) |