a
    db                     @   s:   d dl mZmZmZmZ d	ddZd
ddZdddZdS )   )
HAS_SELECTDefaultSelector
EVENT_READEVENT_WRITENc                    s   t stdt| ts0t| dr(| g} nt| } t >}| D ]}||  q< fdd||D W  d   S 1 sz0    Y  dS )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 selectorfilenoc                    s"   g | ]}|d   @ r|d j qS )r       )fileobj).0keyevents b/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/site-packages/urllib3/util/wait.py
<listcomp>   s   z'_wait_for_io_events.<locals>.<listcomp>N)r   
ValueError
isinstancelisthasattrr   registerselect)socksr   timeoutselectorsockr   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   wait_for_write$   s    r   )N)N)N)	selectorsr   r   r   r   r   r   r   r   r   r   r   <module>   s   

