Key exception -- thrown when an error event was reported for a selected key.
As linux on 64 machines is using only up to 56 bits for the user address space (see https://www.kernel.org/doc/Documentation/x86/x86_64/mm.txt) we can use bits from at least 56 to 63 for stuffing in the least significant 8 bits of the fd into the epoll registration. This can be used to check if the ISelectClient's registration triggering in epoll wait is made for the previous usage of the ISelectClient (for the wrong fd). This is not 100% accurate, as the file descriptors could be reused but it can be in general this is the best we can to find out expired registrations that are not unregistered from epoll.
Informational interface to an EpollSelectDispatcher instance.
Classes used by the EpollSelectDispatcher to manage the set of registered clients.
Handles a set of selected epoll keys. A selected epoll key is an event reported by epoll bundled with its context; the context is the ISelectClient object that contains the file descriptor and the event handler method.
Handles a set of selected epoll keys and handles registered select clients that timed out.