File: //usr/lib/python3/dist-packages/twisted/python/__pycache__/sendmsg.cpython-310.pyc
o
�bz
� @ s� d Z ddlmZ ddlmZmZmZ ddlmZm Z g d�Z
edg d��Zg dfded ed
ee e
e
ef de
de
f
d
d�Z ddede
de
de
def
dd�Zdede
fdd�ZdS )z/
sendmsg(2) and recvmsg(2) support for Python.
� )�
namedtuple)�
CMSG_SPACE�
SCM_RIGHTS�socket)�List�Tuple)�sendmsg�recvmsg�getSocketFamilyr �ReceivedMessage��data� ancillary�flagsr r
r r �returnc C s | � |g||�S )a
Send a message on a socket.
@param socket: The socket to send the message on.
@param data: Bytes to write to the socket.
@param ancillary: Extra data to send over the socket outside of the normal
datagram or stream mechanism. By default no ancillary data is sent.
@param flags: Flags to affect how the message is sent. See the C{MSG_}
constants in the sendmsg(2) manual page. By default no flags are set.
@return: The return value of the underlying syscall, if it succeeds.
)r )r r
r r � r �8/usr/lib/python3/dist-packages/twisted/python/sendmsg.pyr s r � � �maxSize�cmsgSizec C s. | � |t|�|�dd� \}}}t|||d�S )a
Receive a message on a socket.
@param socket: The socket to receive the message on.
@param maxSize: The maximum number of bytes to receive from the socket using
the datagram or stream mechanism. The default maximum is 8192.
@param cmsgSize: The maximum number of bytes to receive from the socket
outside of the normal datagram or stream mechanism. The default maximum
is 4096.
@param flags: Flags to affect how the message is sent. See the C{MSG_}
constants in the sendmsg(2) manual page. By default no flags are set.
@return: A named 3-tuple of the bytes received using the datagram/stream
mechanism, a L{list} of L{tuple}s giving ancillary received data, and
flags as an L{int} describing the data received.
r � r )r r r )r r r r r
r r r r r ) s r c C s | j S )ze
Return the family of the given socket.
@param socket: The socket to get the family of.
)�family)r r r r r
F s r
N)r r r )�__doc__�collectionsr r r r �Socket�typingr r �__all__r �bytes�intr r r
r r r r �<module> s@ �����
������
�