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).
Copyright (c) 2009-2016 dunnhumby Germany GmbH. All rights reserved.
Manages ITimeoutClient instances where each one has an individual timeout value. Uses a timer event as timeout notification mechanism.
Objects that can time out, the so-called timeout clients, must implement ITimeoutClient. For each client create an ExpiryRegistration instance and pass the object to the ExpiryRegistration constructor. Call ExpiryRegistration.register() to set a timeout for the corresponding client. The timeout() method of each client is then called when it has timed out. To disable the timeout for a client that has not timed out yet, call ExpiryRegistration.unregister() .
Initially the object returned by TimerEventTimeoutManager.select_client must be registered to an epoll select dispatcher.
Link with: -Llibebtree.a
Build flags: -debug=TimeoutManager = verbose output