[Twisted-Python] how to change default reactor of twisted.internet?
Anil KARADAG
akaradag at NETAS.com.tr
Wed Dec 12 07:52:49 MST 2012
Hi all,
I have a question about reactor of "twisted.internet" module. I found
below;
The default reactor is "select";
[root at karadag internet]# pwd
/usr/lib/python2.6/site-packages/Twisted-10.0.0-py2.6-linux-x86_64.egg/t
wisted/internet
[root at karadag internet]# cat reactor.py
# Copyright (c) 2001-2008 Twisted Matrix Laboratories.
# See LICENSE for details.
"""
The reactor is the Twisted event loop within Twisted, the loop which
drives
applications using Twisted. The reactor provides APIs for networking,
threading, dispatching events, and more.
The default reactor is based on C{select(2)} and will be installed if
this
module is imported without another reactor being explicitly installed.
Regardless of which reactor is installed, importing this module is the
correct
way to get a reference to it.
New application code should prefer to pass and accept the reactor as a
parameter where it is needed, rather than relying on being able to
import this
module to get a reference. This simplifies unit testing and may make it
easier
to one day support multiple reactors (as a performance enhancement),
though
this is not currently possible.
@see: L{IReactorCore<twisted.internet.interfaces.IReactorCore>}
@see: L{IReactorTime<twisted.internet.interfaces.IReactorTime>}
@see: L{IReactorProcess<twisted.internet.interfaces.IReactorProcess>}
@see: L{IReactorTCP<twisted.internet.interfaces.IReactorTCP>}
@see: L{IReactorSSL<twisted.internet.interfaces.IReactorSSL>}
@see: L{IReactorUDP<twisted.internet.interfaces.IReactorUDP>}
@see:
L{IReactorMulticast<twisted.internet.interfaces.IReactorMulticast>}
@see: L{IReactorUNIX<twisted.internet.interfaces.IReactorUNIX>}
@see:
L{IReactorUNIXDatagram<twisted.internet.interfaces.IReactorUNIXDatagram>
}
@see: L{IReactorFDSet<twisted.internet.interfaces.IReactorFDSet>}
@see: L{IReactorThreads<twisted.internet.interfaces.IReactorThreads>}
@see:
L{IReactorArbitrary<twisted.internet.interfaces.IReactorArbitrary>}
@see:
L{IReactorPluggableResolver<twisted.internet.interfaces.IReactorPluggabl
eResolver>}
"""
import sys
del sys.modules['twisted.internet.reactor']
from twisted.internet import selectreactor
selectreactor.install()
---------------------------------------------------------------
[root at karadag internet]# twistd --help
Usage: twistd [options]
Options:
...
-r, --reactor= Which reactor to use (see --help-reactors for a
list of
possibilities)
--help Display this help and exit.
twistd reads a twisted.application.service.Application out of a file and
runs
it.
Commands:
ftp An FTP server.
telnet A simple, telnet-based remote debugging
service.
socks A SOCKSv4 proxy service.
manhole-old An interactive remote debugger service.
portforward A simple port-forwarder.
web A general-purpose web server which can
serve
from a filesystem or application
resource.
inetd An inetd(8) replacement.
news A news server.
wokkel-component-server An XMPP Component Server
xmpp-router An XMPP Router server
words A modern words server
toc An AIM TOC service.
dns A domain name server.
mail An email service
manhole An interactive remote debugger service
accessible via telnet and ssh and
providing
syntax coloring and basic line editing
functionality.
conch A Conch SSH service.
thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20121212/5ce111e8/attachment.html>
More information about the Twisted-Python
mailing list