root/trunk/twisted/plugins/twisted_reactors.py

Revision 18680, 1.4 KB (checked in by exarkun, 4 years ago)

Merge pluggable-reactors-719-2

Author: exarkun, itamar
Reviewer: jml, itamar (not the parts he wrote)
Fixes #719

Replace reactor dictionary with plugin-based definition mechanism.
Update twistd and trial to use the plugin system to list and install
reactors.

Also fix twistd so that alternate reactors can actually be selected
when using subcommands.

Line 
1# Copyright (c) 2006 Twisted Matrix Laboratories.
2# See LICENSE for details.
3
4from twisted.application.reactors import Reactor
5
6default = Reactor(
7    'default', 'twisted.internet.default',
8    'The best reactor for the current platform.')
9
10select = Reactor(
11    'select', 'twisted.internet.selectreactor', 'select(2)-based reactor.')
12wx = Reactor(
13    'wx', 'twisted.internet.wxreactor', 'wxPython integration reactor.')
14gtk = Reactor(
15    'gtk', 'twisted.internet.gtkreactor', 'Gtk1 integration reactor.')
16gtk2 = Reactor(
17    'gtk2', 'twisted.internet.gtk2reactor', 'Gtk2 integration reactor.')
18glib2 = Reactor(
19    'glib2', 'twisted.internet.glib2reactor',
20    'GLib2 event-loop integration reactor.')
21glade = Reactor(
22    'debug-gui', 'twisted.manhole.gladereactor',
23    'Semi-functional debugging/introspection reactor.')
24win32er = Reactor(
25    'win32', 'twisted.internet.win32eventreactor',
26    'Win32 WaitForMultipleObjects-based reactor.')
27poll = Reactor(
28    'poll', 'twisted.internet.pollreactor', 'poll(2)-based reactor.')
29epoll = Reactor(
30    'epoll', 'twisted.internet.epollreactor', 'epoll(4)-based reactor.')
31cf = Reactor(
32    'cf' , 'twisted.internet.cfreactor',
33    'CoreFoundation integration reactor.')
34kqueue = Reactor(
35    'kqueue', 'twisted.internet.kqreactor', 'kqueue(2)-based reactor.')
36iocp = Reactor(
37    'iocp', 'twisted.internet.iocpreactor',
38    'Win32 IO Completion Ports-based reactor.')
Note: See TracBrowser for help on using the browser.