General timeout manager expiry registration object interface
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.
Interface for the timeout manager expiry registration object used in the ISelectClient.
The reason for these interfaces is to avoid requiring an application to be linked against the libebtree, which is required by TimeoutManager and ExpiryRegistration, when it uses a library module that supports a timeout functionality as an optional feature. Therefore, library modules that support a timeout functionality as an optional feature should always use these interfaces and not import TimeoutManager/ExpiryRegistration.