blob: 8713803de64834e2ff5db5e17f977465d77874ed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
  | 
:mod:`select` -- wait for events on a set of streams
========================================================================
.. module:: select
   :synopsis: wait for events on a set of streams
This module provides functions to wait for events on streams (select streams
which are ready for operations).
Pyboard specifics
-----------------
Polling is an efficient way of waiting for read/write activity on multiple
objects.  Current objects that support polling are: :class:`pyb.UART`,
:class:`pyb.USB_VCP`.
Functions
---------
.. function:: poll()
   Create an instance of the Poll class.
.. function:: select(rlist, wlist, xlist[, timeout])
   Wait for activity on a set of objects.
   This function is provided for compatibility and is not efficient. Usage
   of :class:`Poll` is recommended instead.
.. _class: Poll
class ``Poll``
--------------
Methods
~~~~~~~
.. method:: poll.register(obj[, eventmask])
   Register ``obj`` for polling.  ``eventmask`` is 1 for read, 2 for
   write, 3 for read-write.
.. method:: poll.unregister(obj)
   Unregister ``obj`` from polling.
.. method:: poll.modify(obj, eventmask)
   Modify the ``eventmask`` for ``obj``.
.. method:: poll.poll([timeout])
   Wait for at least one of the registered objects to become ready. Returns
   list of ready objects, or empty list on timeout.
   Timeout is in milliseconds.
  |