This module allows high-level and efficient I/O multiplexing, built upon the select module primitives. Users are encouraged to use this module instead, unless they want precise control over the OS-level primitives used.
It defines a BaseSelector abstract base class, along with several concrete implementations (KqueueSelector, EpollSelector%u2026), that can be used to wait for I/O readiness notification on multiple file objects. In the following, %u201Cfile object%u201D refers to any object with a fileno() method, or a raw file descriptor. See file object.
DefaultSelector is an alias to the most efficient implementation available on the current platform: this should be the default choice for most users.
note that The type of file objects supported depends on the platform: on Windows, sockets are supported, but not pipes, whereas on Unix, both are supported
In the following, events is a bitwise mask indicating which I/O events should be waited for on a given file object. It can be a combination of the modules constants below:
Available for read
Available for write