
    F\h	                          S SK r  " S S5      rg)    Nc                       \ rS rSrSrSrS\R                  4S jr\S 5       r	\S 5       r
\S 5       rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rSrg)TransportSocket   zA 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                     Xl         g Nr   )selfr   s     %/usr/lib/python3.13/asyncio/trsock.py__init__TransportSocket.__init__   s    
    c                 .    U R                   R                  $ r
   )r   familyr   s    r   r   TransportSocket.family   s    zz   r   c                 .    U R                   R                  $ r
   )r   typer   s    r   r   TransportSocket.type   s    zzr   c                 .    U R                   R                  $ r
   )r   protor   s    r   r   TransportSocket.proto   s    zzr   c                    SU R                  5        SU R                  < SU R                  < SU R                   3nU R                  5       S:w  a>   U R	                  5       nU(       a  U SU 3n U R                  5       nU(       a  U SU 3nU S3$ ! [
        R                   a     N:f = f! [
        R                   a     N5f = f)	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__TransportSocket.__repr__   s    *4;;=/ :kk_GDII= 9ZZL" 	
 ;;=B((*#XeW-A((*#XeW-A Aw <<  << s$   B 1B. B+*B+.CCc                     [        S5      e)Nz/Cannot serialize asyncio.TransportSocket object)	TypeErrorr   s    r   __getstate__TransportSocket.__getstate__5   s    IJJr   c                 6    U R                   R                  5       $ r
   )r   r   r   s    r   r   TransportSocket.fileno8   s    zz  ""r   c                 6    U R                   R                  5       $ r
   )r   dupr   s    r   r.   TransportSocket.dup;   s    zz~~r   c                 6    U R                   R                  5       $ r
   )r   get_inheritabler   s    r   r1   TransportSocket.get_inheritable>   s    zz))++r   c                 :    U R                   R                  U5        g r
   )r   shutdown)r   hows     r   r4   TransportSocket.shutdownA   s     	

C r   c                 :    U R                   R                  " U0 UD6$ r
   )r   
getsockoptr   argskwargss      r   r8   TransportSocket.getsockoptF   s    zz$$d5f55r   c                 <    U R                   R                  " U0 UD6  g r
   )r   
setsockoptr9   s      r   r>   TransportSocket.setsockoptI   s    

t.v.r   c                 6    U R                   R                  5       $ r
   )r   r!   r   s    r   r!   TransportSocket.getpeernameL       zz%%''r   c                 6    U R                   R                  5       $ r
   )r   r   r   s    r   r   TransportSocket.getsocknameO   rB   r   c                 6    U R                   R                  5       $ r
   )r   getsockbynamer   s    r   rF   TransportSocket.getsockbynameR   s    zz''))r   c                 &    US:X  a  g [        S5      e)Nr   z<settimeout(): only 0 timeout is allowed on transport sockets
ValueError)r   values     r   
settimeoutTransportSocket.settimeoutU   s    A:JL 	Lr   c                     g)Nr    r   s    r   
gettimeoutTransportSocket.gettimeout[   s    r   c                 (    U(       d  g [        S5      e)Nz3setblocking(): transport sockets cannot be blockingrI   )r   flags     r   setblockingTransportSocket.setblocking^   s    AC 	Cr   N)__name__
__module____qualname____firstlineno____doc__	__slots__r   r   propertyr   r   r   r%   r)   r   r.   r1   r4   r8   r>   r!   r   rF   rL   rP   rT   __static_attributes__rO   r   r   r   r      s     IV]]  ! !      .K# ,!
6/((*LCr   r   )r   r   rO   r   r   <module>r^      s    ^C ^Cr   