a
´iLš ã @ s$ d Z dZddlZddlZddlZddlZddlZddlZddlZzddl Z W n e
yb dZ Y n0 ddlmZ ddlm
Z
ddlmZ ddlmZ dd lmZ dd
lmZ ddlmZ ddlmZ dd
lmZ dd„ ZG dd„ dejƒZG dd„ dejejƒZG dd„ deƒZG dd„ deƒZdS )zÄEvent loop using a selector and related classes.
A selector is a "notify-when-ready" multiplexer. For a subclass which
also includes support for signal handling, see the unix_events sub-module.
)ÚBaseSelectorEventLoopé Né )Úbase_events)Ú constants)Úevents)Úfutures)Ú protocols)Ússlproto)Ú
transports)Útrsock)Úloggerc C s6 z| |¡}W n ty" Y dS 0 t|j|@ ƒS d S ©NF)Úget_keyÚKeyErrorÚboolr )ÚselectorÚfdÚeventÚkey© r ú//usr/lib64/python3.9/asyncio/selector_events.pyÚ_test_selector_event s
r c s’ e Zd ZdZdS‡ fdd„ ZdTdddœdd„ZdUddddejd œd
d„ZdVdd
„Z ‡ fdd„Z
dd„ Zdd„ Zdd„ Z
dd„ Zdd„ Zdddejfdd„Zdddejfdd„Zddejfdd „Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zd3d4„ ZdWd5d6„Zd7d8„ Zd9d:„ Zd;d<„ Z d=d>„ Z!d?d@„ Z"dAdB„ Z#dCdD„ Z$dXdEdF„Z%dGdH„ Z&dIdJ„ Z'dKdL„ Z(dMdN„ Z)dOdP„ Z*dQdR„ Z+‡ Z,S )Yr zJSelector event loop.
See events.EventLoop for API specification.
Nc sF t ƒ ¡ |d u rt ¡ }t d|jj¡ || _| ¡ t
¡ | _d S )NzUsing selector: %s)
ÚsuperÚ__init__Ú selectorsÚDefaultSelectorr ÚdebugÚ __class__Ú__name__Ú _selectorÚ_make_self_pipeÚweakrefÚWeakValueDictionaryÚ_transports)Úselfr ©r r r r 1 s
zBaseSelectorEventLoop.__init__©ÚextraÚserverc C s t | |||||ƒS ©N)Ú_SelectorSocketTransport)r$ ÚsockÚprotocolÚwaiterr' r( r r r Ú_make_socket_transport; s
ÿz,BaseSelectorEventLoop._make_socket_transportF)Úserver_sideÚserver_hostnamer' r( Ússl_handshake_timeoutc C s0 t j| |||||| d�}
t| ||
||d� |
jS )N)r1 r&