File: //usr/lib/python3.6/site-packages/serial/__pycache__/aio.cpython-36.pyc
3
M�]W�; � @ s� d Z ddlZddlZG dd� dej�Zejdd� �Zejdd� �Zed kr�G d
d� dej �Z
ej� Zeee
dd
d�Z
eje
� ej� ej� dS )z�Support asyncio with serial ports. EXPERIMENTAL
Posix platforms only, Python 3.4+ only.
Windows event loops can not wait for serial ports with the current
implementation. It should be possible to get that working though.
� Nc s� e Zd ZdZ� fdd�Zedd� �Zdd� Zdd � Zd
d� Z dd
� Z
dd� Zdd� Zdd� Z
dd� Zd:dd�Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd;d-d.�Zd<d0d1�Zd2d3� Zd=d4d5�Zd6d7� Zd8d9� Z� Z S )>�SerialTransportug An asyncio transport model of a serial communication channel.
A transport class is an abstraction of a communication channel.
This allows protocol implementations to be developed against the
transport abstraction without needing to know the details of the
underlying channel, such as whether it is a pipe, a socket, or
indeed a serial port.
You generally won’t instantiate a transport yourself; instead, you
will call `create_serial_connection` which will create the
transport and try to initiate the underlying communication channel,
calling you back when it succeeds.
c sv t � j� || _|| _|| _d| _d| _d| _g | _| j � d| _
d| _d| j_d| j_
|j|j| � |j| j� d S )NFi r )�super�__init__�_loop� _protocol�_serial�_closing�_protocol_paused�_max_read_size�
_write_buffer�_set_write_buffer_limits�_has_reader�_has_writerZtimeoutZ
write_timeout� call_soon�connection_made�_ensure_reader)�self�loop�protocolZserial_instance)� __class__� �/usr/lib/python3.6/aio.pyr % s
zSerialTransport.__init__c C s | j S )zThe underlying Serial instance.)r )r r r r �serial<