gevent.selectors – High-level IO Multiplexing

This module provides GeventSelector, a high-level IO multiplexing mechanism. This is aliased to DefaultSelector.

This module provides the same API as the selectors defined in selectors.

On Python 2, this module is only available if the selectors2 backport is installed.

New in version 20.6.0.

class SelectorKey(fileobj, fd, events, data)

Bases: tuple

Create new instance of SelectorKey(fileobj, fd, events, data)

data

Alias for field number 3

events

Alias for field number 2

fd

Alias for field number 1

fileobj

Alias for field number 0

DefaultSelector

alias of gevent.selectors.GeventSelector

class BaseSelector

Bases: object

Abstract Selector class

A selector supports registering file objects to be monitored for specific I/O events.

A file object is a file descriptor or any object with a fileno() method. An arbitrary object can be attached to the file object which can be used for example to store context info, a callback, etc.

A selector can use various implementations (select(), poll(), epoll(), and kqueue()) depending on the platform. The ‘DefaultSelector’ class uses the most efficient implementation for the current platform.

close()

Close the selector. This must be called to ensure that all underlying resources are freed.

get_key(fileobj)

Return the key associated with a registered file object.

get_map()

Return a mapping of file objects to selector keys

modify(fileobj, events, data=None)

Change a registered file object monitored events and data.

register(fileobj, events, data=None)

Register a file object for a set of events to monitor.

select(timeout=None)

Perform the actual selection until some monitored file objects are ready or the timeout expires.

unregister(fileobj)

Unregister a file object from being monitored.

class SelectSelector

Bases: selectors2.BaseSelector

Select-based selector.

register(fileobj, events, data=None)

Register a file object for a set of events to monitor.

select(timeout=None)

Perform the actual selection until some monitored file objects are ready or the timeout expires.

unregister(fileobj)

Unregister a file object from being monitored.

class PollSelector

Bases: selectors2.BaseSelector

Poll-based selector

register(fileobj, events, data=None)

Register a file object for a set of events to monitor.

select(timeout=None)

Perform the actual selection until some monitored file objects are ready or the timeout expires.

unregister(fileobj)

Unregister a file object from being monitored.

class EpollSelector

Bases: selectors2.BaseSelector

Epoll-based selector

close()

Close the selector. This must be called to ensure that all underlying resources are freed.

register(fileobj, events, data=None)

Register a file object for a set of events to monitor.

select(timeout=None)

Perform the actual selection until some monitored file objects are ready or the timeout expires.

unregister(fileobj)

Unregister a file object from being monitored.

Next page: gevent.event – Notifications of multiple listeners