uselect – wait for events on a set of streams¶
This module implements a subset of the corresponding CPython module,
as described below. For more information, refer to the original
CPython documentation: select.
This module provides functions to efficiently wait for events on multiple streams (select streams which are ready for operations).
Functions¶
- 
uselect.poll()¶
- Create an instance of the Poll class. 
- 
uselect.select(rlist, wlist, xlist[, timeout])¶
- Wait for activity on a set of objects. - This function is provided by some MicroPython ports for compatibility and is not efficient. Usage of - Pollis recommended instead.
class Poll¶
Methods¶
- 
poll.register(obj[, eventmask])¶
- Register obj for polling. eventmask is logical OR of: - select.POLLIN- data available for reading
- select.POLLOUT- more data can be written
- select.POLLERR- error occurred
- select.POLLHUP- end of stream/connection termination detected
 - eventmask defaults to - select.POLLIN | select.POLLOUT.
- 
poll.unregister(obj)¶
- Unregister obj from polling. 
- 
poll.modify(obj, eventmask)¶
- Modify the eventmask for obj. 
- 
poll.poll([timeout])¶
- Wait for at least one of the registered objects to become ready. Returns list of ( - obj,- event, …) tuples,- eventelement specifies which events happened with a stream and is a combination of- select.POLL*constants described above. There may be other elements in tuple, depending on a platform and version, so don’t assume that its size is 2. In case of timeout, an empty list is returned.- Timeout is in milliseconds. - Difference to CPython - Tuples returned may contain more than 2 elements as described above. 
- 
poll.ipoll(timeout=-1, flags=0)¶
- Like - poll.poll(), but instead returns an iterator which yields- callee-owned tuples. This function provides efficient, allocation-free way to poll on streams.- If flags is 1, one-shot behavior for events is employed: streams for which events happened, event mask will be automatically reset (equivalent to - poll.modify(obj, 0)), so new events for such a stream won’t be processed until new mask is set with- poll.modify(). This behavior is useful for asynchronous I/O schedulers.- Difference to CPython - This function is a MicroPython extension.