U if@s"ddlZddlZGdddZdS)Nc@seZdZdZdZejdddZddZedd Z ed d Z ed d Z ddZ ddZ ddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Z d8d9Z!d:d;Z"dd?Z$d@dAZ%dBdCZ&dDdEZ'dFdGZ(dHdIZ)dJdKZ*dLdMZ+dNdOZ,dPdQZ-dRdSZ.dTdUZ/dVdWZ0dXdYZ1dZd[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)sockcCs ||_dSNr)selfrr3/opt/alt/python38/lib64/python3.8/asyncio/trsock.py__init__szTransportSocket.__init__cCstjd|dt|ddS)NzUsing 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)warningswarnDeprecationWarning)rZwhatrrr _nas  zTransportSocket._nacCs|jjSr)rfamilyrrrr rszTransportSocket.familycCs|jjSr)rtyperrrr rszTransportSocket.typecCs|jjSr)rprotorrrr r"szTransportSocket.protocCsd|d|jd|jd|j}|dkrz|}|rN|d|}Wntjk rfYnXz|}|r|d|}Wntjk rYnX|dS) Nz)filenorrr getsocknamesocketerror getpeername)rsZladdrZraddrrrr __repr__&s $ zTransportSocket.__repr__cCs tddS)Nz/Cannot serialize asyncio.TransportSocket object) TypeErrorrrrr __getstate__=szTransportSocket.__getstate__cCs |jSr)rrrrrr r@szTransportSocket.filenocCs |jSr)rduprrrr rCszTransportSocket.dupcCs |jSr)rget_inheritablerrrr r FszTransportSocket.get_inheritablecCs|j|dSr)rshutdown)rZhowrrr r!IszTransportSocket.shutdowncOs|jj||Sr)r getsockoptrargskwargsrrr r"NszTransportSocket.getsockoptcOs|jj||dSr)r setsockoptr#rrr r&QszTransportSocket.setsockoptcCs |jSr)rrrrrr rTszTransportSocket.getpeernamecCs |jSr)rrrrrr rWszTransportSocket.getsocknamecCs |jSr)r getsockbynamerrrr r'ZszTransportSocket.getsockbynamecCs|d|jS)Nzaccept() method)rracceptrrrr r(]s zTransportSocket.acceptcOs|d|jj||S)Nzconnect() method)rrconnectr#rrr r)as zTransportSocket.connectcOs|d|jj||S)Nzconnect_ex() method)rr connect_exr#rrr r*es zTransportSocket.connect_excOs|d|jj||S)Nz bind() method)rrbindr#rrr r+is zTransportSocket.bindcOs|d|jj||S)Nzioctl() method)rrioctlr#rrr r,ms zTransportSocket.ioctlcOs|d|jj||S)Nzlisten() method)rrlistenr#rrr r-qs zTransportSocket.listencCs|d|jS)Nzmakefile() method)rrmakefilerrrr r.us zTransportSocket.makefilecOs|d|jj||S)Nzsendfile() method)rrsendfiler#rrr r/ys zTransportSocket.sendfilecCs|d|jS)Nzclose() method)rrcloserrrr r0}s zTransportSocket.closecCs|d|jS)Nzdetach() method)rrdetachrrrr r1s zTransportSocket.detachcOs|d|jj||S)Nzsendmsg_afalg() method)rr sendmsg_afalgr#rrr r2s zTransportSocket.sendmsg_afalgcOs|d|jj||S)Nzsendmsg() method)rrsendmsgr#rrr r3s zTransportSocket.sendmsgcOs|d|jj||S)Nzsendto() method)rrsendtor#rrr r4s zTransportSocket.sendtocOs|d|jj||S)Nz send() method)rrsendr#rrr r5s zTransportSocket.sendcOs|d|jj||S)Nzsendall() method)rrsendallr#rrr r6s zTransportSocket.sendallcOs|d|jj||S)Nzset_inheritable() method)rrset_inheritabler#rrr r7s zTransportSocket.set_inheritablecCs|d|j|S)Nzshare() method)rrshare)rZ process_idrrr r8s zTransportSocket.sharecOs|d|jj||S)Nzrecv_into() method)rr recv_intor#rrr r9s zTransportSocket.recv_intocOs|d|jj||S)Nzrecvfrom_into() method)rr recvfrom_intor#rrr r:s zTransportSocket.recvfrom_intocOs|d|jj||S)Nzrecvmsg_into() method)rr recvmsg_intor#rrr r;s zTransportSocket.recvmsg_intocOs|d|jj||S)Nzrecvmsg() method)rrrecvmsgr#rrr r<s zTransportSocket.recvmsgcOs|d|jj||S)Nzrecvfrom() method)rrrecvfromr#rrr r=s zTransportSocket.recvfromcOs|d|jj||S)Nz recv() method)rrrecvr#rrr r>s zTransportSocket.recvcCs|dkr dStddS)NrzrBrCrErGrHrrrr rsb   r)rr rrrrr s