t.i.i.IReactorCore(Interface) : interface documentation

Part of twisted.internet.interfaces View Source View In Hierarchy

Known implementations: twisted.internet.base.ReactorBase

Core methods that a Reactor must implement.
Attribute running A bool which is True from during startup to during shutdown and False the rest of the time.
Method resolve Return a twisted.internet.defer.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 stop Fire 'shutdown' System Events, which will move the reactor to the 'stopped' state and cause reactor.run() to exit.
Method crash Stop the main loop *immediately*, without firing any system events.
Method iterate Run the main loop's I/O polling function for a period of time.
Method fireSystemEvent Fire a system-wide event.
Method addSystemEventTrigger Add a function to be called when a system event occurs.
Method removeSystemEventTrigger Removes a trigger added with addSystemEventTrigger.
Method callWhenRunning Call a function when the reactor is running.
running =
A bool which is True from during startup to during shutdown and False the rest of the time.
def resolve(name, timeout=10): (source)
Return a twisted.internet.defer.Deferred that will resolve a hostname.
def run(): (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 stop(): (source)
Fire 'shutdown' System Events, which will move the reactor to the 'stopped' state and cause reactor.run() to exit.
def crash(): (source)
Stop the main loop *immediately*, without firing any system events.

This is named as it is because this is an extremely "rude" thing to do; it is possible to lose data and put your system in an inconsistent state by calling this. However, it is necessary, as sometimes a system can become wedged in a pre-shutdown call.

def iterate(delay=0): (source)
Run the main loop's I/O polling function for a period of time.

This is most useful in applications where the UI is being drawn "as fast as possible", such as games. All pending IDelayedCalls will be called.

The reactor must have been started (via the run() method) prior to any invocations of this method. It must also be stopped manually after the last call to this method (via the stop() method). This method is not re-entrant: you must not call it recursively; in particular, you must not call it while the reactor is running.

def fireSystemEvent(eventType): (source)
Fire a system-wide event.

System-wide events are things like 'startup', 'shutdown', and 'persist'.

def addSystemEventTrigger(phase, eventType, callable, *args, **kw): (source)
Add a function to be called when a system event occurs.

Each "system event" in Twisted, such as 'startup', 'shutdown', and 'persist', has 3 phases: 'before', 'during', and 'after' (in that order, of course). These events will be fired internally by the Reactor.

An implementor of this interface must only implement those events described here.

Callbacks registered for the "before" phase may return either None or a Deferred. The "during" phase will not execute until all of the Deferreds from the "before" phase have fired.

Once the "during" phase is running, all of the remaining triggers must execute; their return values must be ignored.

Parametersphasea time to call the event -- either the string 'before', 'after', or 'during', describing when to call it relative to the event's execution.
eventTypethis is a string describing the type of event.
callablethe object to call before shutdown.
argsthe arguments to call it with.
kwthe keyword arguments to call it with.
Returnsan ID that can be used to remove this call with removeSystemEventTrigger.
def removeSystemEventTrigger(triggerID): (source)
Removes a trigger added with addSystemEventTrigger.
ParameterstriggerIDa value returned from addSystemEventTrigger.
RaisesKeyErrorIf there is no system event trigger for the given triggerID.
ValueErrorIf there is no system event trigger for the given triggerID.
TypeErrorIf there is no system event trigger for the given triggerID.
def callWhenRunning(callable, *args, **kw): (source)
Call a function when the reactor is running.

If the reactor has not started, the callable will be scheduled to run when it does start. Otherwise, the callable will be invoked immediately.

Parameterscallablethe callable object to call later.
argsthe arguments to call it with.
kwthe keyword arguments to call it with.
ReturnsNone if the callable was invoked, otherwise a system event id for the scheduled call.
API Documentation for Twisted, generated by pydoctor at 2012-12-26 12:18:15.