Индекс низкоуровневого API¶
На этой странице перечислено всё низкоуровневое asyncio API.
Получение событийныйного цикла¶
asyncio.get_running_loop() | 
Предпочтительная функция для получения работающего событийного цикла. | 
asyncio.get_event_loop() | 
Получить сущность событийного цикла (текущий или через политику). | 
asyncio.set_event_loop() | 
Установить событийного цикла как текущий через текущую политику. | 
asyncio.new_event_loop() | 
Создание нового событийного цикла. | 
Примеры
Методы событийного цикла¶
Смотрите также основной раздел документации о методах событийного цикла.
Жизненный цикл
loop.run_until_complete() | 
Запуск Future/Task/awaitable до завершения. | 
loop.run_forever() | 
Запуск событийного цикла постоянно. | 
loop.stop() | 
Остановить событийный цикл. | 
loop.close() | 
Закрыть событийный цикл. | 
loop.is_running() | 
Возвращает True если событийный цикл работает. | 
loop.is_closed() | 
Возвращает True если событийный цикл закрыт. | 
await loop.shutdown_asyncgens() | 
Закрыть асинхронные генераторы. | 
Отладка
loop.set_debug() | 
Включить или отключить режим отладки. | 
loop.get_debug() | 
Получить текущий режим отладки. | 
Планирование колбэков
loop.call_soon() | 
Скорый вызвов колбэк. | 
loop.call_soon_threadsafe() | 
Потокобезопасный вариант loop.call_soon(). | 
loop.call_later() | 
Вызвать колбэк после данного времени. | 
loop.call_at() | 
Вызвать колбэк в данное время. | 
Пул Thread/Process
await loop.run_in_executor() | 
Запуск связанной с ЦП или другой блокирующей функцией в
исполнителе concurrent.futures. | 
loop.set_default_executor() | 
Установить исполнителя по умолчанию для loop.run_in_executor(). | 
Tasks и Futures
loop.create_future() | 
Создание Future объекта. | 
loop.create_task() | 
Запланировать корутину как Task. | 
loop.set_task_factory() | 
Установить фабрику, используемую loop.create_task() для
создания Tasks. | 
loop.get_task_factory() | 
Получить фабрику, используемую loop.create_task() для
создания Tasks. | 
DNS
await loop.getaddrinfo() | 
Асинхронная версия socket.getaddrinfo(). | 
await loop.getnameinfo() | 
Асинхронная версия socket.getnameinfo(). | 
Межсетевое взаимодействие и IPC
await loop.create_connection() | 
Открытие TCP подключения. | 
await loop.create_server() | 
Создание TCP сервера. | 
await loop.create_unix_connection() | 
Открытие Unix сокета соединения. | 
await loop.create_unix_server() | 
Создание сокетного сервера Unix. | 
await loop.connect_accepted_socket() | 
Обёртывание socket в (transport, protocol)
пару. | 
await loop.create_datagram_endpoint() | 
Открытие дейтаграммного соединения (UDP). | 
await loop.sendfile() | 
Отправить файл через транспорт. | 
await loop.start_tls() | 
Обновите существующее соединение до TLS. | 
await loop.connect_read_pipe() | 
Обёртывание чтение до конца канала в пару (transport, protocol). | 
await loop.connect_write_pipe() | 
Обёртывание запись до конца канала в пару (transport, protocol). | 
Сокеты
await loop.sock_recv() | 
Принять данные из socket. | 
await loop.sock_recv_into() | 
Принять данные из socket в буфер. | 
await loop.sock_sendall() | 
Отправить данные socket. | 
await loop.sock_connect() | 
Подключиться к socket. | 
await loop.sock_accept() | 
Принять socket подключение. | 
await loop.sock_sendfile() | 
Отправить файл через socket. | 
loop.add_reader() | 
Начать слежение за файловым дескриптором для обеспечения доступности чтения. | 
loop.remove_reader() | 
Прекращение слежения за файловым дескриптором для обеспечения доступности чтения. | 
loop.add_writer() | 
Начать слежение за файловым дескриптором для обеспечения доступности записи. | 
loop.remove_writer() | 
Прекращение слежения за файловым дескриптором для обеспечения доступности записи. | 
Сигналы Unix
loop.add_signal_handler() | 
Добавить обработчик для signal. | 
loop.remove_signal_handler() | 
Удалить обработчик для signal. | 
Подпроцессы
loop.subprocess_exec() | 
Создание подпроцесса. | 
loop.subprocess_shell() | 
Создает подпроцесс из команды оболочки. | 
Обработка ошибки
loop.call_exception_handler() | 
Вызов обработчика исключений. | 
loop.set_exception_handler() | 
Установка нового обработчика исключения. | 
loop.get_exception_handler() | 
Получить текущий обработчик исключения. | 
loop.default_exception_handler() | 
Реализация обработчик исключения по умолчанию. | 
Примеры
- Использование asyncio.get_event_loop() и loop.run_forever().
 - Использование loop.call_later().
 - Использование 
loop.create_connection()при реализации эхо клиента. - Использование 
loop.create_connection()для подключения к сокету. - Использование add_reader() следить за FD для чтения событий.
 - Использование loop.add_signal_handler().
 - Использование loop.subprocess_exec().
 
Транспорты¶
Все транспорты реализуют следующие методы:
transport.close() | 
Закрыть транспорт. | 
transport.is_closing() | 
Возвращает True если транспорт закрывается или закрыт. | 
transport.get_extra_info() | 
Запрос информации о транспорте. | 
transport.set_protocol() | 
Установка нового протокола. | 
transport.get_protocol() | 
Вернуть текущий протокол. | 
Транспорты могут принимать данные (из TCP и Unix подключений,
пайпов, и т.д.).  Возвращаются методами, такими как
loop.create_connection(), loop.create_unix_connection(),
loop.connect_read_pipe() и т.д.:
Чтение транспортов
transport.is_reading() | 
Возвращает True если транспорт принимает. | 
transport.pause_reading() | 
Пауза получения. | 
transport.resume_reading() | 
Возобновить получение. | 
Транспорты могут отправлять данные (в соединения TCP и Unix,
пайпы и т.д.). Возвращаются методами, такими как loop.create_connection(),
loop.create_unix_connection(), loop.connect_write_pipe(), и т.д.:
Написать транспортам
transport.write() | 
Записать данные в транспорт. | 
transport.writelines() | 
Записать в буферы транспорта. | 
transport.can_write_eof() | 
Возвращает True если транспорт поддерживает отправку EOF. | 
transport.write_eof() | 
Закрыть и отправьте EOF после очистки буферизованных данных. | 
transport.abort() | 
Незамедлительно закрыть транспорт. | 
transport.get_write_buffer_size() | 
Возвращает верхнюю и нижнюю ватерлинии для контроля потока записи. | 
transport.set_write_buffer_limits() | 
Установка новых верхних и нижних ватерлиний для управления потоком записи. | 
Транспорт возвращается loop.create_datagram_endpoint():
Транспорт дейтаграмм
transport.sendto() | 
Отправить данные на удаленный узел. | 
transport.abort() | 
Незамедлительное закройте транспорта. | 
Низкоуровневая абстрация транспорта, через подпроцессы.
Возвращает loop.subprocess_exec() и
loop.subprocess_shell():
Транспорты подпроцессов
transport.get_pid() | 
Вернуть идентификатор процесса подпроцесса. | 
transport.get_pipe_transport() | 
Возврат транспорта для запрошенного пайпа связи (stdin, stdout или stderr). | 
transport.get_returncode() | 
Вернуть код возврата подпроцесса. | 
transport.kill() | 
Убить подпроцесс. | 
transport.send_signal() | 
Отправить сигнал подпроцессу. | 
transport.terminate() | 
Отстановить подпроцесс. | 
transport.close() | 
Убивает подпроцесс и закрывает все пайпы. | 
Протоколы¶
Классы протокола реализовывают следующие колбэк методы:
callback connection_made() | 
Вызывается, когда соединение установлено. | 
callback connection_lost() | 
Вызывается, когда соединение потеряно или закрыто. | 
callback pause_writing() | 
Вызывается, когда транспортный буфер пересекает верхнюю отметку. | 
callback resume_writing() | 
Вызывается, когда транспортный буфер опускается ниже нижней отметки. | 
Потоковые протоколы (TCP, Unix сокеты, пайпы)
callback data_received() | 
Вызывается при получении данных. | 
callback eof_received() | 
Вызывается при получении EOF. | 
Буферизованные потоковые протоколы
callback get_buffer() | 
Вызывается для выделения нового буфера приема. | 
callback buffer_updated() | 
Вызывается при обновлении буфера полученными данными. | 
callback eof_received() | 
Вызывается при получении EOF. | 
Протоколы дейтаграмм
callback datagram_received() | 
Вызывается при получении дейтаграммы. | 
callback error_received() | 
Вызывается, когда предыдущая операция отправки или получения вызывает
OSError. | 
Протоколы подпроцесса
callback pipe_data_received() | 
Вызывается, когда дочерний процесс записывает данные в свой stdout или stderr пайп. | 
callback pipe_connection_lost() | 
Вызывается, когда однин из пайпов соединяется с закрытым дочерним процессом. | 
callback process_exited() | 
Вызывается, когда завершен дочерний процесс. | 
Политики событийного цикла¶
Политики - это низкоуровневый механизм изменения поведений
функций, подобно asyncio.get_event_loop().  См. также
основной раздел политик для получения
дополнительных подробностей.
Доступ к политикам
asyncio.get_event_loop_policy() | 
Возвращение текущей политики для всего процесса. | 
asyncio.set_event_loop_policy() | 
Установка новую политики для всего процесса. | 
AbstractEventLoopPolicy | 
Базовый класс для объектов политики. | 
