3 gY@s:ddlmZmZmZmZd ddZd ddZd ddZdS) ) HAS_SELECTDefaultSelector EVENT_READ EVENT_WRITENc stts tdt|ts0t|dr(|g}nt|}t4}x|D]}|j|q>Wfdd|j|DSQRXdS)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 selectorfilenocs"g|]}|d@r|djqS)r)fileobj).0key)eventsB/Users/olari/OneDrive/sandbox/awsBlog2/lambda/urllib3/util/wait.py sz'_wait_for_io_events..N)r ValueError isinstancelisthasattrrregisterselect)socksr timeoutselectorsockr )r r _wait_for_io_events s    rcCs 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. )rr)rrr r r wait_for_readsrcCs 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. )rr)rrr r r wait_for_write$sr)N)N)N) selectorsrrrrrrrr r r r s