This HOWTO introduces the Twisted reactor, describes the basics of the reactor and links to the various reactor interfaces.
The reactor is the core of the event loop within Twisted – the loop which drives applications using Twisted. The event loop is a programming construct that waits for and dispatches events or messages in a program. It works by calling some internal or external “event provider”, which generally blocks until an event has arrived, and then calls the relevant event handler (“dispatches the event”). The reactor provides basic interfaces to a number of services, including network communications, threading, and event dispatching.
For information about using the reactor and the Twisted event loop, see:
There are multiple implementations of the reactor, each modified to provide better support for specialized features over the default implementation. More information about these and how to use a particular implementation is available via Choosing a Reactor .
Twisted applications can use the interfaces in
twisted.application.service to configure and run the
application instead of using
boilerplate reactor code. See Using Application for an introduction to
Using the reactor object¶
You can get to the
reactor object using the following code:
from twisted.internet import reactor
The reactor usually implements a set of interfaces, but depending on the chosen reactor and the platform, some of the interfaces may not be implemented:
IReactorCore: Core (required) functionality.
IReactorFDSet: Use FileDescriptor objects.
IReactorSSL: SSL networking support.
IReactorUNIX: UNIX socket support.
IReactorSocket: Third-party socket support.