o ?Og@s"ddlZddlZGdddZdS)Nc@seZdZdZdZdejfddZddZedd 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. _socksockcCs ||_dSNr)selfrr5/opt/alt/python310/lib64/python3.10/asyncio/trsock.py__init__ zTransportSocket.__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._nacC|jjSr)rfamilyrrrr rzTransportSocket.familycCrr)rtyperrrr rrzTransportSocket.typecCrr)rprotorrrr r"rzTransportSocket.protocCsd|d|jd|jd|j}|dkrMz|}|r'|d|}Wn tjy2Ynwz|}|rA|d|}Wn tjyLYnw|dS) Nz)filenorrr getsocknamesocketerror getpeername)rsZladdrZraddrrrr __repr__&s4   zTransportSocket.__repr__cCstd)Nz/Cannot serialize asyncio.TransportSocket object) TypeErrorrrrr __getstate__=szTransportSocket.__getstate__cC |jSr)rrrrrr r@r zTransportSocket.filenocCr"r)rduprrrr r#Cr zTransportSocket.dupcCr"r)rget_inheritablerrrr r$Fr zTransportSocket.get_inheritablecCs|j|dSr)rshutdown)rZhowrrr r%IszTransportSocket.shutdowncOs|jj|i|Sr)r getsockoptrargskwargsrrr r&NszTransportSocket.getsockoptcOs|jj|i|dSr)r setsockoptr'rrr r*QszTransportSocket.setsockoptcCr"r)rrrrrr rTr zTransportSocket.getpeernamecCr"r)rrrrrr rWr zTransportSocket.getsocknamecCr"r)r getsockbynamerrrr r+Zr zTransportSocket.getsockbynamecC|d|jS)Nzaccept() method)rracceptrrrr r-]  zTransportSocket.acceptcO|d|jj|i|S)Nzconnect() method)rrconnectr'rrr r0a zTransportSocket.connectcOr/)Nzconnect_ex() method)rr connect_exr'rrr r2er1zTransportSocket.connect_excOr/)Nz bind() method)rrbindr'rrr r3ir1zTransportSocket.bindcOr/)Nzioctl() method)rrioctlr'rrr r4mr1zTransportSocket.ioctlcOr/)Nzlisten() method)rrlistenr'rrr r5qr1zTransportSocket.listencCr,)Nzmakefile() method)rrmakefilerrrr r6ur.zTransportSocket.makefilecOr/)Nzsendfile() method)rrsendfiler'rrr r7yr1zTransportSocket.sendfilecCr,)Nzclose() method)rrcloserrrr r8}r.zTransportSocket.closecCr,)Nzdetach() method)rrdetachrrrr r9r.zTransportSocket.detachcOr/)Nzsendmsg_afalg() method)rr sendmsg_afalgr'rrr r:r1zTransportSocket.sendmsg_afalgcOr/)Nzsendmsg() method)rrsendmsgr'rrr r;r1zTransportSocket.sendmsgcOr/)Nzsendto() method)rrsendtor'rrr r<r1zTransportSocket.sendtocOr/)Nz send() method)rrsendr'rrr r=r1zTransportSocket.sendcOr/)Nzsendall() method)rrsendallr'rrr r>r1zTransportSocket.sendallcOr/)Nzset_inheritable() method)rrset_inheritabler'rrr r?r1zTransportSocket.set_inheritablecCs|d|j|S)Nzshare() method)rrshare)rZ process_idrrr r@  zTransportSocket.sharecOr/)Nzrecv_into() method)rr recv_intor'rrr rBr1zTransportSocket.recv_intocOr/)Nzrecvfrom_into() method)rr recvfrom_intor'rrr rCr1zTransportSocket.recvfrom_intocOr/)Nzrecvmsg_into() method)rr recvmsg_intor'rrr rDr1zTransportSocket.recvmsg_intocOr/)Nzrecvmsg() method)rrrecvmsgr'rrr rEr1zTransportSocket.recvmsgcOr/)Nzrecvfrom() method)rrrecvfromr'rrr rFr1zTransportSocket.recvfromcOr/)Nz recv() method)rrrecvr'rrr rGr1zTransportSocket.recvcCs|dkrdStd)Nrzr?r@rBrCrDrErFrGrKrLrNrPrQrrrr rsd    r)rr rrrrr s