[Twisted-Python] how to change default reactor of twisted.internet?

Anil KARADAG akaradag at NETAS.com.tr
Wed Dec 12 09:52:49 EST 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: http://twistedmatrix.com/pipermail/twisted-python/attachments/20121212/5ce111e8/attachment-0001.htm 


More information about the Twisted-Python mailing list