
    d	                     (    d dl Z  G d d          ZdS )    Nc                       e Zd ZdZdZdej        fdZed             Zed             Z	ed             Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )TransportSocketzA socket-like wrapper for exposing real transport sockets.

    These objects can be safely returned by APIs like
    `transport.get_extra_info('socket')`.  All potentially disruptive
    operations (like "socket.close()") are banned.
    _socksockc                     || _         d S Nr   )selfr   s        /croot/python-split_1694437901252/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.11/asyncio/trsock.py__init__zTransportSocket.__init__   s    


    c                     | j         j        S r	   )r   familyr
   s    r   r   zTransportSocket.family   s    z  r   c                     | j         j        S r	   )r   typer   s    r   r   zTransportSocket.type   s    zr   c                     | j         j        S r	   )r   protor   s    r   r   zTransportSocket.proto   s    zr   c                 j   d|                                   d| j        d| j        d| j         }|                                  dk    rh	 |                                 }|r| d| }n# t
          j        $ r Y nw xY w	 |                                 }|r| d| }n# t
          j        $ r Y nw xY w| dS )	Nz<asyncio.TransportSocket fd=z	, family=z, type=z, proto=z, laddr=z, raddr=>)filenor   r   r   getsocknamesocketerrorgetpeername)r
   sladdrraddrs       r   __repr__zTransportSocket.__repr__   s   "4;;== " "k" ",0I" "Z" " 	
 ;;==B((** .--e--A<   ((** .--e--A<    wwws$   	A' 'A98A9=B B-,B-c                      t          d          )Nz/Cannot serialize asyncio.TransportSocket object)	TypeErrorr   s    r   __getstate__zTransportSocket.__getstate__5   s    IJJJr   c                 4    | j                                         S r	   )r   r   r   s    r   r   zTransportSocket.fileno8   s    z  """r   c                 4    | j                                         S r	   )r   dupr   s    r   r&   zTransportSocket.dup;   s    z~~r   c                 4    | j                                         S r	   )r   get_inheritabler   s    r   r(   zTransportSocket.get_inheritable>   s    z))+++r   c                 :    | j                             |           d S r	   )r   shutdown)r
   hows     r   r*   zTransportSocket.shutdownA   s      	
C     r   c                 &     | j         j        |i |S r	   )r   
getsockoptr
   argskwargss      r   r-   zTransportSocket.getsockoptF   s    $tz$d5f555r   c                 *     | j         j        |i | d S r	   )r   
setsockoptr.   s      r   r2   zTransportSocket.setsockoptI   s"    
t.v.....r   c                 4    | j                                         S r	   )r   r   r   s    r   r   zTransportSocket.getpeernameL       z%%'''r   c                 4    | j                                         S r	   )r   r   r   s    r   r   zTransportSocket.getsocknameO   r4   r   c                 4    | j                                         S r	   )r   getsockbynamer   s    r   r7   zTransportSocket.getsockbynameR   s    z'')))r   c                 0    |dk    rd S t          d          )Nr   z<settimeout(): only 0 timeout is allowed on transport sockets
ValueError)r
   values     r   
settimeoutzTransportSocket.settimeoutU   s(    A::FJL L 	Lr   c                     dS )Nr    r   s    r   
gettimeoutzTransportSocket.gettimeout[   s    qr   c                 (    |sd S t          d          )Nz3setblocking(): transport sockets cannot be blockingr9   )r
   flags     r   setblockingzTransportSocket.setblocking^   s'     	FAC C 	Cr   N)__name__
__module____qualname____doc__	__slots__r   r   propertyr   r   r   r    r#   r   r&   r(   r*   r-   r2   r   r   r7   r<   r?   rB   r>   r   r   r   r      sp         IV]     ! ! X!   X     X   .K K K# # #     , , ,! ! !
6 6 6/ / /( ( (( ( (* * *L L L  C C C C Cr   r   )r   r   r>   r   r   <module>rI      sT    ^C ^C ^C ^C ^C ^C ^C ^C ^C ^Cr   