micropython/docs/library/select.rst

58 lines
1.3 KiB
ReStructuredText
Raw Normal View History

2014-11-09 02:14:05 +08:00
:mod:`select` -- wait for events on a set of streams
2014-11-01 06:21:37 +08:00
========================================================================
.. module:: select
2014-11-09 02:14:05 +08:00
:synopsis: wait for events on a set of streams
2014-11-09 02:14:05 +08:00
This module provides functions to wait for events on streams (select streams
which are ready for operations).
2014-11-01 06:21:37 +08:00
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()
2014-11-01 06:21:37 +08:00
Create an instance of the Poll class.
.. function:: select(rlist, wlist, xlist[, timeout])
2014-11-01 06:21:37 +08:00
Wait for activity on a set of objects.
2014-11-09 02:14:05 +08:00
This function is provided for compatibility and is not efficient. Usage
of :class:`Poll` is recommended instead.
2014-11-01 06:21:37 +08:00
.. _class: Poll
2014-11-01 06:21:37 +08:00
class ``Poll``
--------------
Methods
2014-11-01 06:21:37 +08:00
~~~~~~~
2014-11-01 06:21:37 +08:00
.. method:: poll.register(obj[, eventmask])
2014-11-01 06:21:37 +08:00
Register ``obj`` for polling. ``eventmask`` is 1 for read, 2 for
write, 3 for read-write.
2014-11-01 06:21:37 +08:00
.. method:: poll.unregister(obj)
2014-11-01 06:21:37 +08:00
Unregister ``obj`` from polling.
2014-11-01 06:21:37 +08:00
.. method:: poll.modify(obj, eventmask)
2014-11-01 06:21:37 +08:00
Modify the ``eventmask`` for ``obj``.
2014-11-01 06:21:37 +08:00
.. method:: poll.poll([timeout])
2014-11-09 02:14:05 +08:00
Wait for at least one of the registered objects to become ready. Returns
list of ready objects, or empty list on timeout.
2014-11-01 06:21:37 +08:00
Timeout is in milliseconds.