Represents a stateful system for managing and interacting with a polling system. Polling systems are typically used in scenarios such as handling multiplexed blocking I/O or other event-driven systems, where one needs to repeatedly check (or "poll") some condition or state, blocking up to some timeout until it is ready.
This class abstracts the general components and actions of a polling system, such as:
The user-facing interface (API) which interacts with the outside world
The thread-local data structure used for polling, which keeps track of the internal state of the system and its events
The lifecycle management methods, such as creating and closing the polling system and its components
The runtime interaction methods, such as polling events and interrupting the process