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&