class documentation

class ReactorBase(PluggableResolverMixin): (source)

Known subclasses: twisted.internet.iocpreactor.reactor.IOCPReactor, twisted.internet.posixbase.PosixReactorBase

Implements interfaces: twisted.internet.interfaces._ISupportsExitSignalCapturing, twisted.internet.interfaces.IReactorCore, twisted.internet.interfaces.IReactorThreads, twisted.internet.interfaces.IReactorTime

View In Hierarchy

Default base class for Reactors.
Method __init__ Undocumented
Method add​Reader Undocumented
Method add​System​Event​Trigger See twisted.internet.interfaces.IReactorCore.addSystemEventTrigger.
Method add​Writer Undocumented
Method call​From​Thread See twisted.internet.interfaces.IReactorFromThreads.callFromThread.
Method call​In​Thread See twisted.internet.interfaces.IReactorInThreads.callInThread.
Method call​Later See twisted.internet.interfaces.IReactorTime.callLater.
Method call​When​Running See twisted.internet.interfaces.IReactorCore.callWhenRunning.
Method crash See twisted.internet.interfaces.IReactorCore.crash.
Method disconnect​All Disconnect every reader, and writer in the system.
Method do​Iteration Do one iteration over the readers and writers which have been added.
Method fire​System​Event See twisted.internet.interfaces.IReactorCore.fireSystemEvent.
Method get​Delayed​Calls No summary
Method get​Readers Undocumented
Method get​Thread​Pool See twisted.internet.interfaces.IReactorThreads.getThreadPool.
Method get​Writers Undocumented
Method install​Waker Undocumented
Method iterate See twisted.internet.interfaces.IReactorCore.iterate.
Method remove​All Undocumented
Method remove​Reader Undocumented
Method remove​System​Event​Trigger See twisted.internet.interfaces.IReactorCore.removeSystemEventTrigger.
Method remove​Writer Undocumented
Method resolve Return a Deferred that will resolve a hostname.
Method run Fire 'startup' System Events, move the reactor to the 'running' state, then run the main loop until it is stopped with stop() or crash().
Method run​Until​Current Run all pending timed calls.
Method sig​Break Handle a SIGBREAK interrupt.
Method sig​Int Handle a SIGINT interrupt.
Method sig​Term Handle a SIGTERM interrupt.
Method start​Running Method called when reactor starts: do some initialization and fire startup events.
Method stop See twisted.internet.interfaces.IReactorCore.stop.
Method suggest​Thread​Pool​Size See twisted.internet.interfaces.IReactorThreads.suggestThreadPoolSize.
Method timeout Determine the longest time the reactor may sleep (waiting on I/O notification, perhaps) before it must wake up to service a time-related event.
Method wake​Up Wake up the event loop.
Class Variable __name__ Undocumented
Class Variable installed Undocumented
Class Variable seconds Get the current time in seconds.
Instance Variable running See IReactorCore.running
Instance Variable thread​Call​Queue Undocumented
Instance Variable threadpool Undocumented
Instance Variable threadpool​Shutdown​ID Undocumented
Instance Variable using​Threads Undocumented
Instance Variable waker Undocumented
Method _cancel​Call​Later Undocumented
Method _check​Process​Args Check for valid arguments and environment to spawnProcess.
Method _init​Thread​Pool Create the threadpool accessible with callFromThread.
Method _init​Threads Undocumented
Method _insert​New​Delayed​Calls Undocumented
Method _move​Call​Later​Sooner Undocumented
Method _really​Start​Running Method called to transition to the running state. This should happen in the during startup event trigger phase.
Method _stop​Thread​Pool No summary
Method _uninstall​Handler Undocumented
Class Variable _lock Undocumented
Instance Variable _cancellations Undocumented
Instance Variable _event​Triggers Undocumented
Instance Variable _exit​Signal See _ISupportsExitSignalCapturing._exitSignal
Instance Variable _internal​Readers Undocumented
Instance Variable _just​Stopped A flag which is true between the time reactor.stop is called and the time the shutdown system event is fired. This is used to determine whether that event should be fired after each iteration through the mainloop. This should be replaced with an explicit state machine.
Instance Variable _new​Timed​Calls Undocumented
Instance Variable _pending​Timed​Calls Undocumented
Instance Variable _register​As​IOThread A flag controlling whether the reactor will register the thread it is running in as the I/O thread when it starts. If True, registration will be done, otherwise it will not be.
Instance Variable _started A flag which is true from the time reactor.run is called until the time reactor.run returns. This is used to prevent calls to reactor.run on a running reactor. This should be replaced with an explicit state machine.
Instance Variable _started​Before Undocumented
Instance Variable _stopped A flag which is true between paired calls to reactor.run and reactor.stop. This should be replaced with an explicit state machine.
Instance Variable _threadpool​Startup​ID Undocumented

Inherited from PluggableResolverMixin:

Method install​Name​Resolver See IReactorPluggableNameResolver.
Method install​Resolver See IReactorPluggableResolver.
Instance Variable resolver The installed IResolverSimple.
Property name​Resolver Implementation of read-only IReactorPluggableNameResolver.nameResolver.
Instance Variable _name​Resolver The installed IHostnameResolver.
def addSystemEventTrigger(self, phase, eventType, callable, *args, **kwargs): (source)
See twisted.internet.interfaces.IReactorCore.addSystemEventTrigger.
Parameters
phase:strUndocumented
event​Type:strUndocumented
callable:Callable[..., Any]Undocumented
*args:objectUndocumented
**kwargs:objectUndocumented
Returns
_SystemEventIDUndocumented
def callFromThread(self, f, *args, **kwargs): (source)
def callInThread(self, _callable, *args, **kwargs): (source)
See twisted.internet.interfaces.IReactorInThreads.callInThread.
Parameters
_callable:Callable[..., Any]Undocumented
*args:objectUndocumented
**kwargs:objectUndocumented
def callLater(self, delay, callable, *args, **kw): (source)
See twisted.internet.interfaces.IReactorTime.callLater.
Parameters
delay:floatUndocumented
callable:Callable[..., Any]Undocumented
*args:objectUndocumented
**kw:objectUndocumented
Returns
DelayedCallUndocumented
def callWhenRunning(self, callable, *args, **kwargs): (source)
See twisted.internet.interfaces.IReactorCore.callWhenRunning.
Parameters
callable:Callable[..., Any]Undocumented
*args:objectUndocumented
**kwargs:objectUndocumented
Returns
Optional[_SystemEventID]Undocumented
def crash(self): (source)

See twisted.internet.interfaces.IReactorCore.crash.

Reset reactor state tracking attributes and re-initialize certain state-transition helpers which were set up in __init__ but later destroyed (through use).

def disconnectAll(self): (source)
Disconnect every reader, and writer in the system.
def doIteration(self, delay): (source)
Do one iteration over the readers and writers which have been added.
Parameters
delay:Optional[float]Undocumented
def fireSystemEvent(self, eventType): (source)
See twisted.internet.interfaces.IReactorCore.fireSystemEvent.
Parameters
event​Type:strUndocumented
def getDelayedCalls(self): (source)
Return all the outstanding delayed calls in the system. They are returned in no particular order. This method is not efficient -- it is really only meant for test cases.
Returns
List[IDelayedCall]A list of outstanding delayed calls.
def iterate(self, delay=0.0): (source)
def removeSystemEventTrigger(self, triggerID): (source)
See twisted.internet.interfaces.IReactorCore.removeSystemEventTrigger.
Parameters
trigger​ID:_SystemEventIDUndocumented
def resolve(self, name, timeout=(1, 3, 11, 45)): (source)
Return a Deferred that will resolve a hostname.
Parameters
name:strUndocumented
timeout:Sequence[int]Undocumented
Returns
DeferredUndocumented
def run(self): (source)
Fire 'startup' System Events, move the reactor to the 'running' state, then run the main loop until it is stopped with stop() or crash().
def runUntilCurrent(self): (source)
Run all pending timed calls.
def sigBreak(self, number, frame=None): (source)
Handle a SIGBREAK interrupt.
Parameters
number:intSee handler specification in signal.signal
frame:Optional[FrameType]See handler specification in signal.signal
def sigInt(self, number, frame=None): (source)
Handle a SIGINT interrupt.
Parameters
number:intSee handler specification in signal.signal
frame:Optional[FrameType]See handler specification in signal.signal
def sigTerm(self, number, frame=None): (source)
Handle a SIGTERM interrupt.
Parameters
number:intSee handler specification in signal.signal
frame:Optional[FrameType]See handler specification in signal.signal
def startRunning(self): (source)

Method called when reactor starts: do some initialization and fire startup events.

Don't call this directly, call reactor.run() instead: it should take care of calling this.

This method is somewhat misnamed. The reactor will not necessarily be in the running state by the time this method returns. The only guarantee is that it will be on its way to the running state.

def timeout(self): (source)
Determine the longest time the reactor may sleep (waiting on I/O notification, perhaps) before it must wake up to service a time-related event.
Returns
Optional[float]The maximum number of seconds the reactor may sleep.
__name__: str = (source)

Undocumented

installed: bool = (source)

Undocumented

seconds = (source)
Get the current time in seconds.
Returns
A number-like object of some sort.
threadCallQueue: List[_ThreadCall] = (source)

Undocumented

threadpool = (source)

Undocumented

threadpoolShutdownID = (source)

Undocumented

usingThreads: bool = (source)

Undocumented

def _cancelCallLater(self, delayedCall): (source)

Undocumented

Parameters
delayed​Call:DelayedCallUndocumented
def _checkProcessArgs(self, args, env): (source)
Check for valid arguments and environment to spawnProcess.
Parameters
args:List[Union[bytes, str]]Undocumented
env:Optional[Mapping[AnyStr, AnyStr]]Undocumented
Returns
Union[Tuple[List[bytes], Optional[Dict[bytes, bytes]]], Tuple[List[Union[bytes, str]], Optional[Mapping[AnyStr, AnyStr]]]]A two element tuple giving values to use when creating the process. The first element of the tuple is a list of bytes giving the values for argv of the child process. The second element of the tuple is either None if env was None or a dict mapping bytes environment keys to bytes environment values.
def _initThreadPool(self): (source)
Create the threadpool accessible with callFromThread.
def _initThreads(self): (source)

Undocumented

def _insertNewDelayedCalls(self): (source)

Undocumented

def _moveCallLaterSooner(self, delayedCall): (source)

Undocumented

Parameters
delayed​Call:DelayedCallUndocumented
def _reallyStartRunning(self): (source)
Method called to transition to the running state. This should happen in the during startup event trigger phase.
def _stopThreadPool(self): (source)
Stop the reactor threadpool. This method is only valid if there is currently a threadpool (created by _initThreadPool). It is not intended to be called directly; instead, it will be called by a shutdown trigger created in _initThreadPool.
def _uninstallHandler(self): (source)

Undocumented

_lock = (source)

Undocumented

_cancellations: int = (source)

Undocumented

_eventTriggers: Dict[str, _ThreePhaseEvent] = (source)

Undocumented

_internalReaders: Set[Any] = (source)

Undocumented

_justStopped: bool = (source)
A flag which is true between the time reactor.stop is called and the time the shutdown system event is fired. This is used to determine whether that event should be fired after each iteration through the mainloop. This should be replaced with an explicit state machine.
_newTimedCalls: list = (source)

Undocumented

_pendingTimedCalls = (source)

Undocumented

_registerAsIOThread: bool = (source)
A flag controlling whether the reactor will register the thread it is running in as the I/O thread when it starts. If True, registration will be done, otherwise it will not be.
_started: bool = (source)
A flag which is true from the time reactor.run is called until the time reactor.run returns. This is used to prevent calls to reactor.run on a running reactor. This should be replaced with an explicit state machine.
_startedBefore: bool = (source)

Undocumented

_stopped: bool = (source)
A flag which is true between paired calls to reactor.run and reactor.stop. This should be replaced with an explicit state machine.
_threadpoolStartupID = (source)

Undocumented