Events that are used to register a Conduit to a selector and are returned in a SelectionKey after calling ISelector.select().
Container that holds the SelectionKey's for all the conduits that have triggered events during a previous invocation to ISelector.select(). Instances of this container are normally returned from calls to ISelector.selectedSet().
A selector is a multiplexor for I/O events associated to a Conduit. All selectors must implement this interface.
The SelectionKey struct holds the information concerning the conduits and their association to a selector. Each key keeps a reference to a registered conduit and the events that are to be tracked for it. The 'events' member of the key can take two meanings, depending on where it's used. If used with the register() method of the selector it represents the events we want to track; if used within a foreach cycle on an ISelectionSet it represents the events that have been detected for a conduit.