File: //lib64/python3.6/site-packages/tornado/platform/__pycache__/asyncio.cpython-36.pyc
3
��f�/ � @ s� d Z ddlZddlZddlmZ ddlmZ ddlm Z m
Z
ddlZddlZddlm
Z
mZmZmZmZmZ ejr�ddlmZmZmZ ed�ZG d d
� d
e �ZG dd� de�ZG d
d� de�Zejejd�dd�Zejejd�dd�ZG dd� dej�ZdS )a� Bridges between the `asyncio` module and Tornado IOLoop.
.. versionadded:: 3.2
This module integrates Tornado with the ``asyncio`` module introduced
in Python 3.4. This makes it possible to combine the two libraries on
the same event loop.
.. deprecated:: 5.0
While the code in this module is still used, it is now enabled
automatically when `asyncio` is available, so applications should
no longer need to refer to this module directly.
.. note::
Tornado requires the `~asyncio.AbstractEventLoop.add_reader` family of
methods, so it is not compatible with the `~asyncio.ProactorEventLoop` on
Windows. Use the `~asyncio.SelectorEventLoop` instead.
� N)� get_ident)�convert_yielded)�IOLoop�_Selectable)�Any�TypeVar� Awaitable�Callable�Union�Optional)�Set�Dict�Tuple�_Tc sH e Zd Zejedd�� fdd�Zd+edd�dd�Ze e
ef ed, e
dd
�dd�Z
e e
ef e
dd
�dd�Ze e
ef dd�dd�Ze
e
dd
�dd�Zdd�dd�Zdd�dd�Zeed- eeed�dd�Zedd�dd�Zeeedd �d!d"�Zeeedd �d#d$�Zeejj ed ef eee d%�d&d'�Zejjdd(�d)d*�Z � Z!S ).�BaseAsyncIOLoopN)�asyncio_loop�kwargs�returnc s� |� _ i � _t� � _t� � _d� _x"ttj�D ]}|j � r.tj|= q.W � tj|<