U e5dö( ã @ s| d Z dZG dd„ dƒZG dd„ deƒZG dd„ deƒZG dd „ d eeƒZG d d„ deƒZG dd „ d eƒZG dd„ deƒZdS )zAbstract Transport class.)Ú BaseTransportÚ ReadTransportÚWriteTransportÚ TransportÚDatagramTransportÚSubprocessTransportc @ sH e Zd ZdZdZddd„Zddd„Zdd „ Zd d„ Zdd „ Z dd„ Z dS )r zBase class for transports.©Ú_extraNc C s |d kri }|| _ d S ©Nr )ÚselfÚextra© r ú*/usr/lib64/python3.8/asyncio/transports.pyÚ__init__ s zBaseTransport.__init__c C s | j ||¡S )z#Get optional transport information.)r Úget)r ÚnameÚdefaultr r r Úget_extra_info s zBaseTransport.get_extra_infoc C s t ‚dS )z2Return True if the transport is closing or closed.N©ÚNotImplementedError©r r r r Ú is_closing s zBaseTransport.is_closingc C s t ‚dS )a Close the transport. Buffered data will be flushed asynchronously. No more data will be received. After all buffered data is flushed, the protocol's connection_lost() method will (eventually) be called with None as its argument. Nr r r r r Úclose s zBaseTransport.closec C s t ‚dS )zSet a new protocol.Nr )r Úprotocolr r r Úset_protocol% s zBaseTransport.set_protocolc C s t ‚dS )zReturn the current protocol.Nr r r r r Úget_protocol) s zBaseTransport.get_protocol)N)N)Ú__name__Ú __module__Ú__qualname__Ú__doc__Ú __slots__r r r r r r r r r r r s r c @ s, e Zd ZdZdZdd„ Zdd„ Zdd„ Zd S ) r z#Interface for read-only transports.r c C s t ‚dS )z*Return True if the transport is receiving.Nr r r r r Ú is_reading3 s zReadTransport.is_readingc C s t ‚dS )z”Pause the receiving end. No data will be passed to the protocol's data_received() method until resume_reading() is called. Nr r r r r Ú pause_reading7 s zReadTransport.pause_readingc C s t ‚dS )z…Resume the receiving end. Data received will once again be passed to the protocol's data_received() method. Nr r r r r Úresume_reading? s zReadTransport.resume_readingN)r r r r r r r! r" r r r r r . s r c @ sN e Zd ZdZdZddd„Zdd„ Zdd „ Zd d„ Zdd „ Z dd„ Z dd„ ZdS )r z$Interface for write-only transports.r Nc C s t ‚dS )a¦ Set the high- and low-water limits for write flow control. These two values control when to call the protocol's pause_writing() and resume_writing() methods. If specified, the low-water limit must be less than or equal to the high-water limit. Neither value can be negative. The defaults are implementation-specific. If only the high-water limit is given, the low-water limit defaults to an implementation-specific value less than or equal to the high-water limit. Setting high to zero forces low to zero as well, and causes pause_writing() to be called whenever the buffer becomes non-empty. Setting low to zero causes resume_writing() to be called only once the buffer is empty. Use of zero for either limit is generally sub-optimal as it reduces opportunities for doing I/O and computation concurrently. Nr ©r ÚhighÚlowr r r Úset_write_buffer_limitsM s z&WriteTransport.set_write_buffer_limitsc C s t ‚dS )z,Return the current size of the write buffer.Nr r r r r Úget_write_buffer_sizeb s z$WriteTransport.get_write_buffer_sizec C s t ‚dS )z�Write some data bytes to the transport. This does not block; it buffers the data and arranges for it to be sent out asynchronously. Nr )r Údatar r r Úwritef s zWriteTransport.writec C s d |¡}| |¡ dS )z¯Write a list (or any iterable) of data bytes to the transport. The default implementation concatenates the arguments and calls write() on the result. ó N)Újoinr) )r Zlist_of_datar( r r r Ú writelinesn s zWriteTransport.writelinesc C s t ‚dS )z©Close the write end after flushing buffered data. (This is like typing ^D into a UNIX program reading from stdin.) Data may still be received. Nr r r r r Ú write_eofw s zWriteTransport.write_eofc C s t ‚dS )zAReturn True if this transport supports write_eof(), False if not.Nr r r r r Ú can_write_eof€ s zWriteTransport.can_write_eofc C s t ‚dS ©zÝClose the transport immediately. Buffered data will be lost. No more data will be received. The protocol's connection_lost() method will (eventually) be called with None as its argument. Nr r r r r Úabort„ s zWriteTransport.abort)NN)r r r r r r&