Format: application/x-python-code
⬇ Download File (7.6 KB)
   1  o
   2  
   3  ;'hv�@s�ddlmZddlZddlmZddlmZmZmZddl	m
   4  Z
   5  ddlmZddl
   6  mZmZddlmZdd	lmZdd
   7  lmZmZmZddlmZmZmZd
   8  dlmZmZmZd
   9  dlm Z ee!eefZ"e#e!e$fZ%ee%e!fZ&e#e'e%fZ(e#e'e!fZ)ed�Z*Gdd�d�Z+Gdd�de�Z,Gdd�de�Z-Gdd�dee-�Z.Gdd�de.�Z/Gdd�dee.e-�Z0Gdd�dee(e-�Z1Gdd �d ee'e-�Z2Gd!d"�d"ee)e-�Z3Gd#d$�d$ee'e-�Z4dS)%�)�annotationsN)�abstractmethod)�Callable�
  10  Collection�Mapping)�AsyncExitStack)�IOBase)�IPv4Address�IPv6Address)�
  11  AddressFamily)�
  12  TracebackType)�Any�TypeVar�Union�)�TypedAttributeProvider�TypedAttributeSet�typed_attribute�)�
  13  ByteStream�Listener�UnreliableObjectStream)�	TaskGroup�T_Retvalc@s eZdZddd�Zddd
  14  �ZdS)�_NullAsyncContextManager�return�Nonec���dS�N���selfrr�HC:\Users\shubh\Videos\agent\nova\Lib\site-packages\anyio/abc/_sockets.py�
  15  __aenter__s�z#_NullAsyncContextManager.__aenter__�exc_type�type[BaseException] | None�exc_val�BaseException | None�exc_tb�TracebackType | None�bool | Nonec�rrr)r!r$r&r(rrr"�	__aexit__!s�z"_NullAsyncContextManager.__aexit__N)rr)r$r%r&r'r(r)rr*)�__name__�
  16  __module__�__qualname__r#r+rrrr"rs
  17  rc@sbeZdZUe�Zded<e�Zded<e�Zded<e�Zded<e�Z	ded	<e�Z
  18  ded
  19  <dS)�SocketAttributer�family�SockAddrType�
  20  local_address�int�
  21  local_port�
  22  socket.socket�
  23  raw_socket�remote_address�remote_portN)r,r-r.rr0�__annotations__r2r4r6r7r8rrrr"r/*s
  24  r/c@s,eZdZed	dd��Zeed
  25  dd���ZdS)�_SocketProviderr�Mapping[Any, Callable[[], Any]]cs�ddlm�tj�fdd�tj��fdd�tj�fdd�i}z	��j����Wnty2d�Ynw�dur@�fdd�|tj	<�jjt
  26  jt
  27  jfvrd�fdd�|tj
  28  <�durd�d	��fd
  29  d�|tj<|S)Nr)�convert_ipv6_sockaddrcs�jjSr)�_raw_socketr0rr rr"�<lambda>?sz2_SocketProvider.extra_attributes.<locals>.<lambda>cs��j���Sr�r=�getsocknamer)�convertr!rr"r>@s�cs�jSr)r=rr rr"r>C�c��Srrr)�peernamerr"r>L�cs�j��dS)Nrr?rr rr"r>QsrcrCrrr)r8rr"r>UrE)Z_core._socketsr<r/r0r2r6r=�getpeername�OSErrorr7r�AF_INET�AF_INET6r4r8)r!�
  30  attributesr)rArDr8r!r"�extra_attributes:s&��
  31  �z _SocketProvider.extra_attributesr5cCsdSrrr rrr"r=Ysz_SocketProvider._raw_socketN)rr;)rr5)r,r-r.�propertyrKrr=rrrr"r:9sr:c@�eZdZdZdS)�SocketStreamzu
  32      Transports bytes over a socket.
  33  
  34      Supports all relevant extra attributes from :class:`~SocketAttribute`.
  35      N�r,r-r.�__doc__rrrr"rN_�rNc@s(eZdZeddd��Zedd
  36  d��ZdS)�UNIXSocketStream�message�bytes�fds�Collection[int | IOBase]rrc���dS)z�
  37          Send file descriptors along with a message to the peer.
  38  
  39          :param message: a non-empty bytestring
  40          :param fds: a collection of files (either numeric file descriptors or open file
  41              or socket objects)
  42          Nr)r!rSrUrrr"�send_fdshrBzUNIXSocketStream.send_fds�msglenr3�maxfds�tuple[bytes, list[int]]c�rW)a
  43          Receive file descriptors along with a message from the peer.
  44  
  45          :param msglen: length of the message to expect from the peer
  46          :param maxfds: maximum number of file descriptors to expect from the peer
  47          :return: a tuple of (message, file descriptors)
  48          Nr)r!rYrZrrr"�receive_fdsrrBzUNIXSocketStream.receive_fdsN)rSrTrUrVrr)rYr3rZr3rr[)r,r-r.rrXr\rrrr"rRgs
  49  	rRc@s,eZdZdZeddd��Z	dddd
  50  �ZdS)�SocketListenerz}
  51      Listens to incoming socket connections.
  52  
  53      Supports all relevant extra attributes from :class:`~SocketAttribute`.
  54      rrNc�rW)zAccept an incoming connection.Nrr rrr"�accept�rBzSocketListener.acceptN�handler�Callable[[SocketStream], Any]�
  55  task_group�TaskGroup | Nonerc	�sp�ddlm}t�4IdH�}|dur|�|��IdH}	|��IdH}|�||�q1IdHs1wYdS)Nr)�create_task_group)�rcr�enter_async_contextr^Z
  56  start_soon)r!r_rarc�stack�streamrrr"�serve�s���zSocketListener.serve)rrNr)r_r`rarbrr)r,r-r.rPrr^rhrrrr"r]}s�r]c@seZdZdZd
  57  d
  58  d�ZdS)�	UDPSocketz{
  59      Represents an unconnected UDP socket.
  60  
  61      Supports all relevant extra attributes from :class:`~SocketAttribute`.
  62      �datarT�host�str�portr3rrc�s�|�|||ff�IdHS)z^
  63          Alias for :meth:`~.UnreliableObjectSendStream.send` ((data, (host, port))).
  64  
  65          N��send)r!rjrkrmrrr"�sendto�s�zUDPSocket.sendtoN)rjrTrkrlrmr3rr�r,r-r.rPrprrrr"ri�sric@rM)�ConnectedUDPSocketzy
  66      Represents an connected UDP socket.
  67  
  68      Supports all relevant extra attributes from :class:`~SocketAttribute`.
  69      NrOrrrr"rr�rQrrc@seZdZdZddd	�Zd
  70  S)�UNIXDatagramSocketz�
  71      Represents an unconnected Unix datagram socket.
  72  
  73      Supports all relevant extra attributes from :class:`~SocketAttribute`.
  74      rjrT�pathrlrrc�s�|�||f�IdHS)zCAlias for :meth:`~.UnreliableObjectSendStream.send` ((data, path)).Nrn)r!rjrtrrr"rp�s�zUNIXDatagramSocket.sendtoN)rjrTrtrlrrrqrrrr"rs�srsc@rM)�ConnectedUNIXDatagramSocketz�
  75      Represents a connected Unix datagram socket.
  76  
  77      Supports all relevant extra attributes from :class:`~SocketAttribute`.
  78      NrOrrrr"ru�rQru)5�
  79  __future__r�socket�abcr�collections.abcrrr�
  80  contextlibr�ior�	ipaddressr	r
  81  r�typesr�typingr
  82  rrZ_core._typedattrrrrZ_streamsrrr�_tasksrrlZ
  83  IPAddressType�tupler3ZIPSockAddrTyper1rTZ
  84  UDPPacketTypeZUNIXDatagramPacketTyperrr/r:rNrRr]rirrrsrurrrr"�<module>s>
  85  &
  86  �