3
Pf @ s: d dl mZmZmZmZ d ddZd
ddZdddZdS ) )
HAS_SELECTDefaultSelector
EVENT_READEVENT_WRITENc st t stdt| ts0t| dr(| g} nt| } t 4}x| D ]}|j| q>W fdd|j|D S Q R X dS )z Waits for IO events to be available from a list of sockets
or optionally a single socket if passed in. Returns a list of
sockets that can be interacted with immediately. z!Platform does not have a selectorfilenoc s" g | ]}|d @ r|d j qS )r )Zfileobj).0key)events /usr/lib/python3.6/wait.py
s z'_wait_for_io_events..N)r
ValueError
isinstancelisthasattrr registerZselect)socksr
timeoutZselectorZsockr )r
r _wait_for_io_events s
r c C s t | t|S )z Waits for reading to be available from a list of sockets
or optionally a single socket if passed in. Returns a list of
sockets that can be read from immediately. )r r )r r r r r
wait_for_read s r c C s t | t|S )z Waits for writing to be available from a list of sockets
or optionally a single socket if passed in. Returns a list of
sockets that can be written to immediately. )r r )r r r r r wait_for_write$ s r )N)N)N)Z selectorsr r r r r r r r r r r s