~~~~~~~
Polling
~~~~~~~

.. include:: prologue.rst

As of release 5.0, BRLTTY has been converted from being polling-based to being 
event-based. This means, among other things, that it's now able to become 
completely idle whenever it doesn't have anything useful to do. For comparison, 
it formerly used a huge, central, main loop which was run frequently (about 25 
times per second), and which was aware of, and had to check for, every single
task that might need to be performed.

In practical terms, this change, when compared with how BRLTTY used to work, 
delivers at least the following significant benefits:

*  Noticeably improved response time. Near instant reaction to significant user
   and system events rather than waiting for the next polling cycle to check
   for them.

*  Much less system load. Just a few, short-lived bursts of activity when
   actually necessary rather than frequent, much longer-lived checking that,
   far more often than not, resulted in nothing needing to be done.

*  Way less battery drain. The system is no longer forced either to remain
   awake or to continually wake up after a rather brief nap.

There are cases in which polling is still being used. Some of these will
eventually be resolved by future code changes, while others, unfortunately, are
required due to host platform limitations.

.. topic:: Monitoring for Screen Updates

   This task involves checking for size changes, content changes, highlighting
   changes, cursor movement, etc. It's event-based on:

   *  Android

   *  Linux text consoles if the kernel is at least 2.6.37 (released on January 4,
      2011)

   *  Linux graphics consoles monitored via AT-SPI2.

   On other platforms, |frequent polling| is used.

.. topic:: Monitoring for Serial Input

   This task is event-based on:

   *  Linux

   On other platforms, |frequent polling| is used.

.. topic:: Monitoring for USB Input

   This task is event-based on:

   *  Linux

   On other platforms, |frequent polling| is used.

.. topic:: Monitoring for Bluetooth Input

   Tghis task is event-based on:

   *  Android

   *  Linux

   On other platforms, |frequent polling| is used.

.. topic:: Starting the Braille Driver

   On all platforms, |periodic retrying| is used.

.. topic:: Starting the Speech Driver

   On all platforms, |periodic retrying| is used.

.. topic:: Starting the Screen Driver

   On all platforms, |periodic retrying| is used.

.. topic:: Starting the Keyboard Monitor

   On all platforms, |periodic retrying| is used.

.. topic:: Creating the PID File

   On all platforms, |periodic retrying| is used.

.. |frequent polling| replace:: frequent polling (about every 40 milliseconds)
.. |periodic retrying| replace:: periodic retrying (about every five seconds)
