class documentation

class _ContinuousPolling(_PollLikeMixin, _DisconnectSelectableMixin): (source)

Implements interfaces: twisted.internet.interfaces.IReactorFDSet

View In Hierarchy

Schedule reads and writes based on the passage of time, rather than notification.

This is useful for supporting polling filesystem files, which epoll(7) does not support.

The implementation uses _PollLikeMixin, which is a bit hacky, but re-implementing and testing the relevant code yet again is unappealing.

Method __init__ Undocumented
Method add​Reader Add a FileDescriptor for notification of data available to read.
Method add​Writer Add a FileDescriptor for notification of data available to write.
Method get​Readers Return a list of the readers.
Method get​Writers Return a list of the writers.
Method is​Reading Checks if the file descriptor is currently being observed for read readiness.
Method is​Writing Checks if the file descriptor is currently being observed for write readiness.
Method iterate Call doRead and doWrite on all readers and writers respectively.
Method remove​All Remove all readers and writers.
Method remove​Reader Remove a FileDescriptor from notification of data available to read.
Method remove​Writer Remove a FileDescriptor from notification of data available to write.
Method _check​Loop Start or stop a LoopingCall based on whether there are readers and writers.
Constant _POLL​_DISCONNECTED Undocumented
Constant _POLL​_IN Undocumented
Constant _POLL​_OUT Undocumented
Instance Variable _loop A LoopingCall that drives the polling, or None.
Instance Variable _reactor The EPollReactor that is using this instance.
Instance Variable _readers A set of FileDescriptor objects that should be read from.
Instance Variable _writers A set of FileDescriptor objects that should be written to.

Inherited from _PollLikeMixin:

Method _do​Read​Or​Write fd is available for read or write, do the work and raise errors if necessary.

Inherited from _DisconnectSelectableMixin:

Method _disconnect​Selectable Utility function for disconnecting a selectable.
def __init__(self, reactor): (source)

Undocumented

def addReader(self, reader): (source)
Add a FileDescriptor for notification of data available to read.
def addWriter(self, writer): (source)
Add a FileDescriptor for notification of data available to write.
def getReaders(self): (source)
Return a list of the readers.
def getWriters(self): (source)
Return a list of the writers.
def isReading(self, fd): (source)
Checks if the file descriptor is currently being observed for read readiness.
Parameters
fd:twisted.internet.abstract.FileDescriptorThe file descriptor being checked.
Returns
boolTrue if the file descriptor is being observed for read readiness, False otherwise.
def isWriting(self, fd): (source)
Checks if the file descriptor is currently being observed for write readiness.
Parameters
fd:twisted.internet.abstract.FileDescriptorThe file descriptor being checked.
Returns
boolTrue if the file descriptor is being observed for write readiness, False otherwise.
def iterate(self): (source)
Call doRead and doWrite on all readers and writers respectively.
def removeAll(self): (source)
Remove all readers and writers.
def removeReader(self, reader): (source)
Remove a FileDescriptor from notification of data available to read.
def removeWriter(self, writer): (source)
Remove a FileDescriptor from notification of data available to write.
def _checkLoop(self): (source)
Start or stop a LoopingCall based on whether there are readers and writers.
_POLL_DISCONNECTED: int = (source)

Undocumented

Value
1
_POLL_IN: int = (source)

Undocumented

Value
2
_POLL_OUT: int = (source)

Undocumented

Value
4
_loop = (source)
A LoopingCall that drives the polling, or None.
_reactor = (source)
The EPollReactor that is using this instance.
_readers = (source)
A set of FileDescriptor objects that should be read from.
_writers = (source)
A set of FileDescriptor objects that should be written to.