module documentation

Various asynchronous TCP/IP classes.

End users shouldn't use this module directly - use the reactor APIs instead.

Class BaseClient A base class for client TCP (and similar) sockets.
Class Client A transport for a TCP protocol; either TCPv4 or TCPv6.
Class Connection Superclass of all socket-based FileDescriptors.
Class Connector A Connector provides of twisted.internet.interfaces.IConnector for all POSIX-style reactors.
Class Port A TCP server port, listening for connections.
Class Server Serverside socket-stream connection class.
Variable ENFILE Undocumented
Variable ENOMEM Undocumented
Variable EPERM Undocumented
Interface _IFileDescriptorReservation An open file that represents an emergency reservation in the process' file descriptor table. If Port encounters EMFILE on accept(2), it can close this file descriptor, retry the accept so that the incoming connection occupies this file descriptor's space, and then close that connection and reopen this one.
Class _AbortingMixin Common implementation of abortConnection.
Class _BaseBaseClient Code shared with other (non-POSIX) reactors for management of general outgoing connections.
Class _BaseTCPClient Code shared with other (non-POSIX) reactors for management of outgoing TCP connections (both TCPv4 and TCPv6).
Class _BuffersLogs A context manager that buffers any log events until after its block exits.
Class _FileDescriptorReservation _IFileDescriptorReservation implementation.
Class _HasClose Undocumented
Class _NullFileDescriptorReservation A null implementation of _IFileDescriptorReservation.
Class _SocketCloser No summary
Function _accept Return a generator that yields client sockets from the provided listening socket until there are none left or an unrecoverable error occurs.
Function _getpeername See _getrealname.
Function _getrealname Return a 2-tuple of socket IP and port for IPv4 and a 4-tuple of socket IP, port, flowInfo, and scopeID for IPv6. For IPv6, it returns the interface portion (the part after the %) as a part of the IPv6 address, which Python 3...
Function _getsockname See _getrealname.
Function _resolveIPv6 Resolve an IPv6 literal into an IPv6 address.
Constant _ACCEPT_ERRORS Undocumented
Constant _AI_NUMERICSERV Undocumented
Constant _NUMERIC_ONLY Undocumented
Variable _reservedFD Undocumented

Undocumented

Undocumented

Undocumented

def _accept(logger, accepts, listener, reservedFD): (source)

Return a generator that yields client sockets from the provided listening socket until there are none left or an unrecoverable error occurs.

Parameters
logger:LoggerA logger to which accept-related events will be logged. This should not log to arbitrary observers that might open a file descriptor to avoid claiming the EMFILE file descriptor on UNIX-like systems.
accepts:An iterable.An iterable iterated over to limit the number consecutive accepts.
listener:socket.socketThe listening socket.
reservedFD:_IFileDescriptorReservationA reserved file descriptor that can be used to recover from EMFILE on UNIX-like systems.
Returns
A generator that yields (socket, addr) tuples from socket.socket.accept
def _getpeername(skt): (source)
def _getrealname(addr): (source)

Return a 2-tuple of socket IP and port for IPv4 and a 4-tuple of socket IP, port, flowInfo, and scopeID for IPv6. For IPv6, it returns the interface portion (the part after the %) as a part of the IPv6 address, which Python 3.7+ does not include.

Parameters
addrA 2-tuple for IPv4 information or a 4-tuple for IPv6 information.
def _getsockname(skt): (source)
def _resolveIPv6(ip, port): (source)

Resolve an IPv6 literal into an IPv6 address.

This is necessary to resolve any embedded scope identifiers to the relevant sin6_scope_id for use with socket.connect(), socket.listen(), or socket.bind(); see RFC 3493 for more information.

Parameters
ip:strAn IPv6 address literal.
port:intA port number.
Returns
a 4-tuple of (host, port, flow, scope), suitable for use as an IPv6 address.
Raises
socket.gaierrorif either the IP or port is not numeric as it should be.
_ACCEPT_ERRORS = (source)

Undocumented

Value
(EMFILE, ENOBUFS, ENFILE, ENOMEM, ECONNABORTED)
_AI_NUMERICSERV = (source)

Undocumented

Value
getattr(socket, 'AI_NUMERICSERV', 0)
_NUMERIC_ONLY = (source)

Undocumented

Value
socket.AI_NUMERICHOST | _AI_NUMERICSERV
_reservedFD = (source)

Undocumented