a
    ӗa                     @   s"   d dl Z d dlZG dd dZdS )    Nc                   @   s  e Zd ZdZdZejdddZdd Zedd	 Z	ed
d Z
edd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Z d8d9 Z!d:d; Z"d<d= Z#d>d? Z$d@dA Z%dBdC Z&dDdE Z'dFdG Z(dHdI Z)dJdK Z*dLdM Z+dNdO Z,dPdQ Z-dRdS Z.dTdU Z/dVdW Z0dXdY Z1dZd[ Z2d\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                 C   s
   || _ d S Nr   )selfr    r   1/home/manager/Python-3.9.10/Lib/asyncio/trsock.py__init__   s    zTransportSocket.__init__c                 C   s   t jd| dt| d d S )NzUsing z on sockets returned from get_extra_info('socket') will be prohibited in asyncio 3.9. Please report your use case to bugs.python.org.)source)warningswarnDeprecationWarning)r   whatr   r   r	   _na   s    
zTransportSocket._nac                 C   s   | j jS r   )r   familyr   r   r   r	   r      s    zTransportSocket.familyc                 C   s   | j jS r   )r   typer   r   r   r	   r      s    zTransportSocket.typec                 C   s   | j jS r   )r   protor   r   r   r	   r   "   s    zTransportSocket.protoc                 C   s   d|    d| jd| jd| j }|   dkrz|  }|rN| d| }W n tjyd   Y n0 z|  }|r| d| }W n tjy   Y n0 | 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raddrr   r   r	   __repr__&   s,    zTransportSocket.__repr__c                 C   s   t dd S )Nz/Cannot serialize asyncio.TransportSocket object)	TypeErrorr   r   r   r	   __getstate__=   s    zTransportSocket.__getstate__c                 C   s
   | j  S r   )r   r   r   r   r   r	   r   @   s    zTransportSocket.filenoc                 C   s
   | j  S r   )r   dupr   r   r   r	   r"   C   s    zTransportSocket.dupc                 C   s
   | j  S r   )r   get_inheritabler   r   r   r	   r#   F   s    zTransportSocket.get_inheritablec                 C   s   | j | d S r   )r   shutdown)r   howr   r   r	   r$   I   s    zTransportSocket.shutdownc                 O   s   | j j|i |S r   )r   
getsockoptr   argskwargsr   r   r	   r&   N   s    zTransportSocket.getsockoptc                 O   s   | j j|i | d S r   )r   
setsockoptr'   r   r   r	   r*   Q   s    zTransportSocket.setsockoptc                 C   s
   | j  S r   )r   r   r   r   r   r	   r   T   s    zTransportSocket.getpeernamec                 C   s
   | j  S r   )r   r   r   r   r   r	   r   W   s    zTransportSocket.getsocknamec                 C   s
   | j  S r   )r   getsockbynamer   r   r   r	   r+   Z   s    zTransportSocket.getsockbynamec                 C   s   |  d | j S )Nzaccept() method)r   r   acceptr   r   r   r	   r,   ]   s    
zTransportSocket.acceptc                 O   s   |  d | jj|i |S )Nzconnect() method)r   r   connectr'   r   r   r	   r-   a   s    
zTransportSocket.connectc                 O   s   |  d | jj|i |S )Nzconnect_ex() method)r   r   
connect_exr'   r   r   r	   r.   e   s    
zTransportSocket.connect_exc                 O   s   |  d | jj|i |S )Nzbind() method)r   r   bindr'   r   r   r	   r/   i   s    
zTransportSocket.bindc                 O   s   |  d | jj|i |S )Nzioctl() method)r   r   ioctlr'   r   r   r	   r0   m   s    
zTransportSocket.ioctlc                 O   s   |  d | jj|i |S )Nzlisten() method)r   r   listenr'   r   r   r	   r1   q   s    
zTransportSocket.listenc                 C   s   |  d | j S )Nzmakefile() method)r   r   makefiler   r   r   r	   r2   u   s    
zTransportSocket.makefilec                 O   s   |  d | jj|i |S )Nzsendfile() method)r   r   sendfiler'   r   r   r	   r3   y   s    
zTransportSocket.sendfilec                 C   s   |  d | j S )Nzclose() method)r   r   closer   r   r   r	   r4   }   s    
zTransportSocket.closec                 C   s   |  d | j S )Nzdetach() method)r   r   detachr   r   r   r	   r5      s    
zTransportSocket.detachc                 O   s   |  d | jj|i |S )Nzsendmsg_afalg() method)r   r   sendmsg_afalgr'   r   r   r	   r6      s    
zTransportSocket.sendmsg_afalgc                 O   s   |  d | jj|i |S )Nzsendmsg() method)r   r   sendmsgr'   r   r   r	   r7      s    
zTransportSocket.sendmsgc                 O   s   |  d | jj|i |S )Nzsendto() method)r   r   sendtor'   r   r   r	   r8      s    
zTransportSocket.sendtoc                 O   s   |  d | jj|i |S )Nzsend() method)r   r   sendr'   r   r   r	   r9      s    
zTransportSocket.sendc                 O   s   |  d | jj|i |S )Nzsendall() method)r   r   sendallr'   r   r   r	   r:      s    
zTransportSocket.sendallc                 O   s   |  d | jj|i |S )Nzset_inheritable() method)r   r   set_inheritabler'   r   r   r	   r;      s    
zTransportSocket.set_inheritablec                 C   s   |  d | j|S )Nzshare() method)r   r   share)r   Z
process_idr   r   r	   r<      s    
zTransportSocket.sharec                 O   s   |  d | jj|i |S )Nzrecv_into() method)r   r   	recv_intor'   r   r   r	   r=      s    
zTransportSocket.recv_intoc                 O   s   |  d | jj|i |S )Nzrecvfrom_into() method)r   r   recvfrom_intor'   r   r   r	   r>      s    
zTransportSocket.recvfrom_intoc                 O   s   |  d | jj|i |S )Nzrecvmsg_into() method)r   r   recvmsg_intor'   r   r   r	   r?      s    
zTransportSocket.recvmsg_intoc                 O   s   |  d | jj|i |S )Nzrecvmsg() method)r   r   recvmsgr'   r   r   r	   r@      s    
zTransportSocket.recvmsgc                 O   s   |  d | jj|i |S )Nzrecvfrom() method)r   r   recvfromr'   r   r   r	   rA      s    
zTransportSocket.recvfromc                 O   s   |  d | jj|i |S )Nzrecv() method)r   r   recvr'   r   r   r	   rB      s    
zTransportSocket.recvc                 C   s   |dkrd S t dd S )Nr   z<settimeout(): only 0 timeout is allowed on transport sockets
ValueError)r   valuer   r   r	   
settimeout   s
    zTransportSocket.settimeoutc                 C   s   dS )Nr   r   r   r   r   r	   
gettimeout   s    zTransportSocket.gettimeoutc                 C   s   |sd S t dd S )Nz3setblocking(): transport sockets cannot be blockingrC   )r   flagr   r   r	   setblocking   s
    zTransportSocket.setblockingc                 C   s   |  d | j S Nzcontext manager protocol)r   r   	__enter__r   r   r   r	   rK      s    
zTransportSocket.__enter__c                 G   s   |  d | jj| S rJ   )r   r   __exit__)r   errr   r   r	   rL      s    
zTransportSocket.__exit__N)3__name__
__module____qualname____doc__	__slots__r   r
   r   propertyr   r   r   r   r!   r   r"   r#   r$   r&   r*   r   r   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rF   rG   rI   rK   rL   r   r   r   r	   r      sb   


r   )r   r   r   r   r   r   r	   <module>   s   