Part of twisted.internet.udp View Source View In Hierarchy
Known subclasses: twisted.internet.udp.MulticastPort, twisted.internet.unix.DatagramPort
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 | Undocumented |
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 | Undocumented |
Method | readConnectionLost | Undocumented |
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 | Undocumented |
Method | pauseProducing | Undocumented |
Method | stopProducing | Undocumented |
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
until this Port
is listening.
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 ) |
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 ) |
This is called on unserialization, and must be called after creating a server to begin listening on the specified port.
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.
Parameters | datagram | The datagram to be sent. (type: str ) |
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 ) |
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.
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.
logstr
attribute to be used by
logPrefix
.Returns | the local address of the UDP connection (type: IPv4Address
or IPv6Address ) |