a `@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)selfrr1/usr/local/src/Python-3.9.6/Lib/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)rwhatrrr _nas zTransportSocket._nacCs|jjSr)rfamilyrrrr rszTransportSocket.familycCs|jjSr)rtyperrrr rszTransportSocket.typecCs|jjSr)rprotorrrr r"szTransportSocket.protocCsd|d|jd|jd|j}|dkrz|}|rN|d|}WntjydYn0z|}|r|d|}WntjyYn0|dS) Nz)filenorrr getsocknamesocketerror getpeername)rsladdrraddrrrr __repr__&s,  zTransportSocket.__repr__cCs tddS)Nz/Cannot serialize asyncio.TransportSocket object) TypeErrorrrrr __getstate__=szTransportSocket.__getstate__cCs |jSr)rrrrrr r@szTransportSocket.filenocCs |jSr)rduprrrr r"CszTransportSocket.dupcCs |jSr)rget_inheritablerrrr r#FszTransportSocket.get_inheritablecCs|j|dSr)rshutdown)rhowrrr r$IszTransportSocket.shutdowncOs|jj|i|Sr)r getsockoptrargskwargsrrr r&NszTransportSocket.getsockoptcOs|jj|i|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|i|S)Nzconnect() method)rrconnectr'rrr r-as zTransportSocket.connectcOs|d|jj|i|S)Nzconnect_ex() method)rr connect_exr'rrr r.es zTransportSocket.connect_excOs|d|jj|i|S)Nz bind() method)rrbindr'rrr r/is zTransportSocket.bindcOs|d|jj|i|S)Nzioctl() method)rrioctlr'rrr r0ms zTransportSocket.ioctlcOs|d|jj|i|S)Nzlisten() method)rrlistenr'rrr r1qs zTransportSocket.listencCs|d|jS)Nzmakefile() method)rrmakefilerrrr r2us zTransportSocket.makefilecOs|d|jj|i|S)Nzsendfile() method)rrsendfiler'rrr r3ys zTransportSocket.sendfilecCs|d|jS)Nzclose() method)rrcloserrrr r4}s zTransportSocket.closecCs|d|jS)Nzdetach() method)rrdetachrrrr r5s zTransportSocket.detachcOs|d|jj|i|S)Nzsendmsg_afalg() method)rr sendmsg_afalgr'rrr r6s zTransportSocket.sendmsg_afalgcOs|d|jj|i|S)Nzsendmsg() method)rrsendmsgr'rrr r7s zTransportSocket.sendmsgcOs|d|jj|i|S)Nzsendto() method)rrsendtor'rrr r8s zTransportSocket.sendtocOs|d|jj|i|S)Nz send() method)rrsendr'rrr r9s zTransportSocket.sendcOs|d|jj|i|S)Nzsendall() method)rrsendallr'rrr r:s zTransportSocket.sendallcOs|d|jj|i|S)Nzset_inheritable() method)rrset_inheritabler'rrr r;s zTransportSocket.set_inheritablecCs|d|j|S)Nzshare() method)rrshare)rZ process_idrrr r<s zTransportSocket.sharecOs|d|jj|i|S)Nzrecv_into() method)rr recv_intor'rrr r=s zTransportSocket.recv_intocOs|d|jj|i|S)Nzrecvfrom_into() method)rr recvfrom_intor'rrr r>s zTransportSocket.recvfrom_intocOs|d|jj|i|S)Nzrecvmsg_into() method)rr recvmsg_intor'rrr r?s zTransportSocket.recvmsg_intocOs|d|jj|i|S)Nzrecvmsg() method)rrrecvmsgr'rrr r@s zTransportSocket.recvmsgcOs|d|jj|i|S)Nzrecvfrom() method)rrrecvfromr'rrr rAs zTransportSocket.recvfromcOs|d|jj|i|S)Nz recv() method)rrrecvr'rrr rBs zTransportSocket.recvcCs|dkr dStddS)Nrzr?r@rArBrFrGrIrKrLrrrr rsb   r)rr rrrrr s