<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=TR>Hi all,<o:p></o:p></span></p><p class=MsoNormal><span lang=TR><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR>I have a question about reactor of “twisted.internet” module. I found below;<o:p></o:p></span></p><p class=MsoNormal><span lang=TR><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR>The default reactor is “select”;<o:p></o:p></span></p><p class=MsoNormal><span lang=TR><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>[root@karadag internet]# pwd<o:p></o:p></span></p><p class=MsoNormal><b><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>/usr/lib/python2.6/site-packages/Twisted-10.0.0-py2.6-linux-x86_64.egg/twisted/internet<o:p></o:p></span></b></p><p class=MsoNormal><b><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>[root@karadag internet]# cat reactor.py<o:p></o:p></span></b></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'># Copyright (c) 2001-2008 Twisted Matrix Laboratories.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'># See LICENSE for details.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>"""<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>The reactor is the Twisted event loop within Twisted, the loop which drives<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>applications using Twisted. The reactor provides APIs for networking,<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>threading, dispatching events, and more.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>The default reactor is based on C{select(2)} and will be installed if this<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>module is imported without another reactor being explicitly installed.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>Regardless of which reactor is installed, importing this module is the correct<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>way to get a reference to it.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>New application code should prefer to pass and accept the reactor as a<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>parameter where it is needed, rather than relying on being able to import this<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>module to get a reference. This simplifies unit testing and may make it easier<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>to one day support multiple reactors (as a performance enhancement), though<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>this is not currently possible.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorCore<twisted.internet.interfaces.IReactorCore>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorTime<twisted.internet.interfaces.IReactorTime>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorProcess<twisted.internet.interfaces.IReactorProcess>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorTCP<twisted.internet.interfaces.IReactorTCP>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorSSL<twisted.internet.interfaces.IReactorSSL>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorUDP<twisted.internet.interfaces.IReactorUDP>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorMulticast<twisted.internet.interfaces.IReactorMulticast>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorUNIX<twisted.internet.interfaces.IReactorUNIX>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorUNIXDatagram<twisted.internet.interfaces.IReactorUNIXDatagram>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorFDSet<twisted.internet.interfaces.IReactorFDSet>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorThreads<twisted.internet.interfaces.IReactorThreads>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorArbitrary<twisted.internet.interfaces.IReactorArbitrary>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorPluggableResolver<twisted.internet.interfaces.IReactorPluggableResolver>}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>"""<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:9.0pt;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal><b><span lang=TR style='font-size:10.0pt;color:#C00000'>import sys<o:p></o:p></span></b></p><p class=MsoNormal><b><span lang=TR style='font-size:10.0pt;color:#C00000'>del sys.modules['twisted.internet.reactor']<o:p></o:p></span></b></p><p class=MsoNormal><b><span lang=TR style='font-size:10.0pt;color:#C00000'>from twisted.internet import selectreactor<o:p></o:p></span></b></p><p class=MsoNormal><b><span lang=TR style='font-size:10.0pt;color:#C00000'>selectreactor.install()<o:p></o:p></span></b></p><p class=MsoNormal><span lang=TR style='font-size:9.0pt;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR>---------------------------------------------------------------<o:p></o:p></span></p><p class=MsoNormal><span lang=TR><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>[root@karadag internet]# twistd --help<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>Usage: twistd [options]<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>Options:<o:p></o:p></span></p><p class=MsoNormal><span lang=TR>…<o:p></o:p></span></p><p class=MsoNormal><span lang=TR><o:p> </o:p></span></p><p class=MsoNormal><b><span lang=TR> -r, --reactor= Which reactor to use (see --help-reactors for a list of<o:p></o:p></span></b></p><p class=MsoNormal><b><span lang=TR> possibilities)<o:p></o:p></span></b></p><p class=MsoNormal><span lang=TR style='font-size:9.0pt;color:#7F7F7F'> --help Display this help and exit.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:9.0pt;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:9.0pt;color:#7F7F7F'>twistd reads a twisted.application.service.Application out of a file and runs<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:9.0pt;color:#7F7F7F'>it.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR>Commands:<o:p></o:p></span></p><p class=MsoNormal><span lang=TR> </span><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>ftp An FTP server.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> telnet A simple, telnet-based remote debugging<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> service.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> socks A SOCKSv4 proxy service.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> manhole-old An interactive remote debugger service.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> portforward A simple port-forwarder.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> web A general-purpose web server which can serve<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> from a filesystem or application resource.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> inetd An inetd(8) replacement.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> news A news server.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> wokkel-component-server An XMPP Component Server<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> xmpp-router An XMPP Router server<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> words A modern words server<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> toc An AIM TOC service.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> dns A domain name server.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> mail An email service<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> manhole An interactive remote debugger service<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> accessible via telnet and ssh and providing<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> syntax coloring and basic line editing<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> functionality.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'> conch A Conch SSH service.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal><span lang=TR style='color:black'>thanks<o:p></o:p></span></p></div></body></html>