Manages an I/O event loop with automatic handler invocation and
unregistration.
The EpollSelectDispatcher class wraps a Tango EpollSelector and uses
ISelectClient instances for Select I/O event registration, unregistration
and event handler invocation. An I/O event loop is provided that runs while
there are select event registrations. This loop automatically invokes the
registered handlers; via the return value each handler may indicate that it
wishes to be unregistered. After the ISelectClient instance has been
unregistered, its finalize() method is invoked.
If a handler throws an Exception, it is caught, the ISelectClient containing
that handler is unregistered immediately and finalize() is invoked.
Exceptions thrown by the ISelectClient's finalize() methods are also caught.
Boost Software License Version 1.0. See LICENSE_BOOST.txt for details.
Alternatively, this file may be distributed under the terms of the Tango
3-Clause BSD License (see LICENSE_BSD.txt for details).
Manages an I/O event loop with automatic handler invocation and unregistration.
The EpollSelectDispatcher class wraps a Tango EpollSelector and uses ISelectClient instances for Select I/O event registration, unregistration and event handler invocation. An I/O event loop is provided that runs while there are select event registrations. This loop automatically invokes the registered handlers; via the return value each handler may indicate that it wishes to be unregistered. After the ISelectClient instance has been unregistered, its finalize() method is invoked.
If a handler throws an Exception, it is caught, the ISelectClient containing that handler is unregistered immediately and finalize() is invoked. Exceptions thrown by the ISelectClient's finalize() methods are also caught.