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
Poll
is recommended instead.
class Poll
¶
Methods¶
-
poll.
register
(obj[, eventmask])¶ Register obj for polling. eventmask is logical OR of:
select.POLLIN
- data available for readingselect.POLLOUT
- more data can be writtenselect.POLLERR
- error occurredselect.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,event
element specifies which events happened with a stream and is a combination ofselect.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])¶ Like
poll.poll()
, but instead returns an iterator which yields callee-owned tuples. This function provides efficient, allocation-free way to poll on streams.Difference to CPython
This function is a MicroPython extension.