circuitpython/docs/library/select.rst

62 lines
1.6 KiB
ReStructuredText
Raw Normal View History

2014-11-08 13:14:05 -05:00
:mod:`select` -- wait for events on a set of streams
2014-10-31 18:21:37 -04:00
========================================================================
.. module:: select
2014-11-08 13:14:05 -05:00
:synopsis: wait for events on a set of streams
2014-11-08 13:14:05 -05:00
This module provides functions to wait for events on streams (select streams
which are ready for operations).
2014-10-31 18:21:37 -04: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-10-31 18:21:37 -04:00
Create an instance of the Poll class.
.. function:: select(rlist, wlist, xlist[, timeout])
2014-10-31 18:21:37 -04:00
Wait for activity on a set of objects.
2014-11-08 13:14:05 -05:00
This function is provided for compatibility and is not efficient. Usage
of :class:`Poll` is recommended instead.
2014-10-31 18:21:37 -04:00
.. _class: Poll
2014-10-31 18:21:37 -04:00
class ``Poll``
--------------
Methods
2014-10-31 18:21:37 -04:00
~~~~~~~
2014-10-31 18:21:37 -04:00
.. method:: poll.register(obj[, eventmask])
2014-10-31 18:21:37 -04:00
Register ``obj`` for polling. ``eventmask`` is 1 for read, 2 for
write, 3 for read-write.
2014-10-31 18:21:37 -04:00
.. method:: poll.unregister(obj)
2014-10-31 18:21:37 -04:00
Unregister ``obj`` from polling.
2014-10-31 18:21:37 -04:00
.. method:: poll.modify(obj, eventmask)
2014-10-31 18:21:37 -04:00
Modify the ``eventmask`` for ``obj``.
2014-10-31 18:21:37 -04:00
.. method:: poll.poll([timeout])
2014-11-08 13:14:05 -05:00
Wait for at least one of the registered objects to become ready. Returns
list of (``obj``, ``event``, ...) tuples, ``event`` element specifying
whether ``obj`` is ready for reading, writing, or both (see ``register``
method above). There may be other elements in tuple, depending on platform
and version, so don't assume that its size is 2. In case of timeout, an
empty list is returned.
2014-10-31 18:21:37 -04:00
Timeout is in milliseconds.