Expiry registration class for an object that can time out.
Creates a new expiry registration instance, associates client with it and registers client with this timeout manager. The returned object should be reused. The client will remain associated to the expiry registration after it has been unregistered from the timeout manager.
Enables IExpiryRegistration to access TimeoutManager internals.
Array map mapping from an expiry registration ( a node in the tree of expiry times) to an ISelectClient.
Tells the wall clock time time when the next client will expire.
Tells the time left until the next client will expire.
Returns the current wall clock time according to gettimeofday().
Checks for timed out clients. For any timed out client its timeout() method is called, then it is unregistered, finally dg() is called with it as argument.
Registers registration and sets the timeout for its client.
Unregisters the IExpiryRegistration instance corresponding to expiry.
Called when the overall timeout needs to be set or changed.
Called when the last client has been unregistered so that the timer may be disabled.
TODO: Remove debugging output.
Prints the current wall clock time.
Prints t.
Timeout manager