MINI MINI MANI MO
3
  \R'                 @   s   d Z ddlmZ ddddddgZG d	d dZG d
d deZG dd deZG dd deeZG d
d deZG dd deZ	G dd deZ
dS )zAbstract Transport class.    )compat
BaseTransport
ReadTransportWriteTransport	TransportDatagramTransportSubprocessTransportc               @   sD   e Zd ZdZdddZdddZdd Zd	d
 Zdd Zd
d Z	dS )r   zBase class for transports.Nc             C   s   |d kri }|| _ d S )N)_extra)selfextra r   */usr/lib64/python3.6/asyncio/transports.py__init__
   s    zBaseTransport.__init__c             C   s   | j j||S )z#Get optional transport information.)r	   get)r
   namedefaultr   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) called
        with None as its argument.
        N)r   )r
   r   r   r
   close   s    zBaseTransport.closec             C   s   t dS )zSet a new protocol.N)r   )r
   protocolr   r   r
   set_protocol$   s    zBaseTransport.set_protocolc             C   s   t dS )zReturn the current protocol.N)r   )r
   r   r   r
   get_protocol(   s    zBaseTransport.get_protocol)N)N)
__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r   r
   r   
   s   
c               @   s    e Zd ZdZdd Zdd ZdS )r   z#Interface for read-only transports.c             C   s   t dS )zPause the receiving end.
        No data will be passed to the protocol's data_received()
        method until resume_reading() is called.
        N)r   )r
   r   r   r
   
pause_reading0   s    zReadTransport.pause_readingc             C   s   t dS )zResume the receiving end.
        Data received will once again be passed to the protocol's
        data_received() method.
        N)r   )r
   r   r   r
   resume_reading8   s    zReadTransport.resume_readingN)r   r   r   r   r   r   r   r   r   r
   r   -   s   c               @   sJ   e Zd ZdZdddZdd Zdd Zd	d
 Zdd Zd
d Z	dd Z
dS )r   z$Interface for write-only transports.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.
        N)r   )r
   highlowr   r   r
   set_write_buffer_limitsD   s    z&WriteTransport.set_write_buffer_limitsc             C   s   t dS )z,Return the current size of the write buffer.N)r   )r
   r   r   r
   get_write_buffer_sizeY   s    z$WriteTransport.get_write_buffer_sizec             C   s   t dS )zWrite some data bytes to the transport.
        This does not block; it buffers the data and arranges for it
        to be sent out asynchronously.
        N)r   )r
   datar   r   r
   write]   s    zWriteTransport.writec             C   s   t j|}| j| dS )zWrite a list (or any iterable) of data bytes to the transport.
        The default implementation concatenates the arguments and
        calls write() on the result.
        N)r   Zflatten_list_bytesr$   )r
   Zlist_of_datar#   r   r   r
   
writelinese   s    
zWriteTransport.writelinesc             C   s   t dS )zClose the write end after flushing buffered data.
        (This is like typing ^D into a UNIX program reading from stdin.)
        Data may still be received.
        N)r   )r
   r   r   r
   	write_eofn   s    zWriteTransport.write_eofc             C   s   t dS )zAReturn True if this transport supports write_eof(), False if not.N)r   )r
   r   r   r
   
can_write_eofw   s    zWriteTransport.can_write_eofc             C   s   t dS )zClose 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.
        N)r   )r
   r   r   r
   abort{   s    zWriteTransport.abort)NN)r   r   r   r   r!   r"