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.

Instance Variable running See IReactorCore.running
Class Variable installed Undocumented
Instance Variable usingThreads Undocumented
Class Variable __name__ Undocumented
Method __init__ Undocumented
Instance Variable threadCallQueue Undocumented
Instance Variable waker Undocumented
Method installWaker Undocumented
Method wakeUp Wake up the event loop.
Method doIteration Do one iteration over the readers and writers which have been added.
Method addReader Undocumented
Method addWriter Undocumented
Method removeReader Undocumented
Method removeWriter Undocumented
Method removeAll Undocumented
Method getReaders Undocumented
Method getWriters Undocumented
Method resolve Return a Deferred that will resolve a hostname.
Method stop See twisted.internet.interfaces.IReactorCore.stop.
Method crash See twisted.internet.interfaces.IReactorCore.crash.
Method sigInt Handle a SIGINT interrupt.
Method sigBreak Handle a SIGBREAK interrupt.
Method sigTerm Handle a SIGTERM interrupt.
Method disconnectAll Disconnect every reader, and writer in the system.
Method iterate See twisted.internet.interfaces.IReactorCore.iterate.
Method fireSystemEvent See twisted.internet.interfaces.IReactorCore.fireSystemEvent.
Method addSystemEventTrigger See twisted.internet.interfaces.IReactorCore.addSystemEventTrigger.
Method removeSystemEventTrigger See twisted.internet.interfaces.IReactorCore.removeSystemEventTrigger.
Method callWhenRunning See twisted.internet.interfaces.IReactorCore.callWhenRunning.
Method startRunning Method called when reactor starts: do some initialization and fire startup events.
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().
Class Variable seconds Get the current time in seconds.
Method callLater See twisted.internet.interfaces.IReactorTime.callLater.
Method getDelayedCalls No summary
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 runUntilCurrent Run all pending timed calls.
Instance Variable threadpool Undocumented
Instance Variable threadpoolShutdownID Undocumented
Method callFromThread Cause a function to be executed by the reactor thread.
Method getThreadPool See twisted.internet.interfaces.IReactorThreads.getThreadPool.
Method callInThread See twisted.internet.interfaces.IReactorInThreads.callInThread.
Method suggestThreadPoolSize See twisted.internet.interfaces.IReactorThreads.suggestThreadPoolSize.
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 _justStopped 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 _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 _registerAsIOThread 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 _exitSignal See _ISupportsExitSignalCapturing._exitSignal
Instance Variable _eventTriggers Undocumented
Instance Variable _pendingTimedCalls Undocumented
Instance Variable _newTimedCalls Undocumented
Instance Variable _cancellations Undocumented
Instance Variable _startedBefore Undocumented
Instance Variable _internalReaders Undocumented
Class Variable _lock Undocumented
Method _reallyStartRunning Method called to transition to the running state. This should happen in the during startup event trigger phase.
Method _moveCallLaterSooner Undocumented
Method _cancelCallLater Undocumented
Method _insertNewDelayedCalls Undocumented
Method _checkProcessArgs Check for valid arguments and environment to spawnProcess.
Instance Variable _threadpoolStartupID Undocumented
Method _initThreads Undocumented
Method _initThreadPool Create the threadpool accessible with callFromThread.
Method _uninstallHandler Undocumented
Method _stopThreadPool No summary

Inherited from PluggableResolverMixin:

Instance Variable resolver The installed IResolverSimple.
Method installResolver See IReactorPluggableResolver.
Method installNameResolver See IReactorPluggableNameResolver.
Property nameResolver Implementation of read-only IReactorPluggableNameResolver.nameResolver.
Instance Variable _nameResolver The installed IHostnameResolver.
_stopped = (source)
A flag which is true between paired calls to reactor.run and reactor.stop. This should be replaced with an explicit state machine.
(type: bool)
_justStopped = (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.
(type: bool)
_started = (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.
(type: bool)
_registerAsIOThread = (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.
(type: bool)
installed = (source)

Undocumented

(type: bool)
usingThreads = (source)

Undocumented

(type: bool)
__name__ = (source)

Undocumented

(type: str)
threadCallQueue = (source)

Undocumented

(type: List[_ThreadCall])
_eventTriggers = (source)

Undocumented

(type: Dict[str, _ThreePhaseEvent])
_pendingTimedCalls = (source)

Undocumented

_newTimedCalls = (source)

Undocumented

(type: list)
_cancellations = (source)

Undocumented

(type: int)
_startedBefore = (source)

Undocumented

(type: bool)
_internalReaders = (source)

Undocumented

(type: Set[Any])
waker = (source)

Undocumented

(type: Any)
_lock = (source)

Undocumented

def doIteration(self, delay): (source)

Do one iteration over the readers and writers which have been added.

ParametersdelayUndocumented (type: Optional[float])
def resolve(self, name, timeout=(1, 3, 11, 45)): (source)

Return a Deferred that will resolve a hostname.

ParametersnameUndocumented (type: str)
timeoutUndocumented (type: Sequence[int])
ReturnsUndocumented (type: Deferred)
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 sigInt(self, number, frame=None): (source)

Handle a SIGINT interrupt.

ParametersnumberSee handler specification in signal.signal (type: int)
frameSee handler specification in signal.signal (type: Optional[FrameType])
def sigBreak(self, number, frame=None): (source)

Handle a SIGBREAK interrupt.

ParametersnumberSee handler specification in signal.signal (type: int)
frameSee handler specification in signal.signal (type: Optional[FrameType])
def sigTerm(self, number, frame=None): (source)

Handle a SIGTERM interrupt.

ParametersnumberSee handler specification in signal.signal (type: int)
frameSee handler specification in signal.signal (type: Optional[FrameType])
def disconnectAll(self): (source)

Disconnect every reader, and writer in the system.

def iterate(self, delay=0.0): (source)
def fireSystemEvent(self, eventType): (source)

See twisted.internet.interfaces.IReactorCore.fireSystemEvent.

ParameterseventTypeUndocumented (type: str)
def addSystemEventTrigger(self, phase, eventType, callable, *args, **kwargs): (source)

See twisted.internet.interfaces.IReactorCore.addSystemEventTrigger.

ParametersphaseUndocumented (type: str)
eventTypeUndocumented (type: str)
callableUndocumented (type: Callable[..., Any])
argsUndocumented (type: object)
kwargsUndocumented (type: object)
ReturnsUndocumented (type: _SystemEventID)
def removeSystemEventTrigger(self, triggerID): (source)

See twisted.internet.interfaces.IReactorCore.removeSystemEventTrigger.

ParameterstriggerIDUndocumented (type: _SystemEventID)
def callWhenRunning(self, callable, *args, **kwargs): (source)

See twisted.internet.interfaces.IReactorCore.callWhenRunning.

ParameterscallableUndocumented (type: Callable[..., Any])
argsUndocumented (type: object)
kwargsUndocumented (type: object)
ReturnsUndocumented (type: Optional[_SystemEventID])
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 _reallyStartRunning(self): (source)

Method called to transition to the running state. This should happen in the during startup event trigger phase.

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().

seconds = (source)

Get the current time in seconds.

ReturnsA number-like object of some sort.
def callLater(self, delay, callable, *args, **kw): (source)

See twisted.internet.interfaces.IReactorTime.callLater.

ParametersdelayUndocumented (type: float)
callableUndocumented (type: Callable[..., Any])
argsUndocumented (type: object)
kwUndocumented (type: object)
ReturnsUndocumented (type: DelayedCall)
def _moveCallLaterSooner(self, delayedCall): (source)

Undocumented

ParametersdelayedCallUndocumented (type: DelayedCall)
def _cancelCallLater(self, delayedCall): (source)

Undocumented

ParametersdelayedCallUndocumented (type: DelayedCall)
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.

ReturnsA list of outstanding delayed calls. (type: List[IDelayedCall])
def _insertNewDelayedCalls(self): (source)

Undocumented

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.

ReturnsThe maximum number of seconds the reactor may sleep. (type: Optional[float])
def runUntilCurrent(self): (source)

Run all pending timed calls.

def _checkProcessArgs(self, args, env): (source)

Check for valid arguments and environment to spawnProcess.

ParametersargsUndocumented (type: List[Union[bytes, str]])
envUndocumented (type: Optional[Mapping[AnyStr, AnyStr]])
ReturnsA 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. (type: Union[Tuple[List[bytes], Optional[Dict[bytes, bytes]]], Tuple[List[Union[bytes, str]], Optional[Mapping[AnyStr, AnyStr]]]])
threadpool = (source)

Undocumented

_threadpoolStartupID = (source)

Undocumented

threadpoolShutdownID = (source)

Undocumented

def _initThreads(self): (source)

Undocumented

def callFromThread(self, f, *args, **kwargs): (source)

Cause a function to be executed by the reactor thread.

Use this method when you want to run a function in the reactor's thread from another thread. Calling callFromThread should wake up the main thread (where reactor.run() is executing) and run the given callable in that thread.

If you're writing a multi-threaded application the callable may need to be thread safe, but this method doesn't require it as such. If you want to call a function in the next mainloop iteration, but you're in the same thread, use callLater with a delay of 0.

ParametersfUndocumented (type: Callable[..., Any])
argsUndocumented (type: object)
kwargsUndocumented (type: object)
def _initThreadPool(self): (source)

Create the threadpool accessible with callFromThread.

def _uninstallHandler(self): (source)

Undocumented

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 callInThread(self, _callable, *args, **kwargs): (source)

See twisted.internet.interfaces.IReactorInThreads.callInThread.

Parameters_callableUndocumented (type: Callable[..., Any])
argsUndocumented (type: object)
kwargsUndocumented (type: object)
def suggestThreadPoolSize(self, size): (source)
API Documentation for Twisted, generated by pydoctor 21.2.0 at 2021-02-28 21:00:42.