<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>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=TR><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=TR>I have a question about reactor of &#8220;twisted.internet&#8221; module. I found below;<o:p></o:p></span></p><p class=MsoNormal><span lang=TR><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=TR><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=TR>The default reactor is &#8220;select&#8221;;<o:p></o:p></span></p><p class=MsoNormal><span lang=TR><o:p>&nbsp;</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>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>&quot;&quot;&quot;<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>&nbsp;</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>&nbsp;</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.&nbsp; 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>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorCore&lt;twisted.internet.interfaces.IReactorCore&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorTime&lt;twisted.internet.interfaces.IReactorTime&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorProcess&lt;twisted.internet.interfaces.IReactorProcess&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorTCP&lt;twisted.internet.interfaces.IReactorTCP&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorSSL&lt;twisted.internet.interfaces.IReactorSSL&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorUDP&lt;twisted.internet.interfaces.IReactorUDP&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorMulticast&lt;twisted.internet.interfaces.IReactorMulticast&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorUNIX&lt;twisted.internet.interfaces.IReactorUNIX&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorUNIXDatagram&lt;twisted.internet.interfaces.IReactorUNIXDatagram&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorFDSet&lt;twisted.internet.interfaces.IReactorFDSet&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorThreads&lt;twisted.internet.interfaces.IReactorThreads&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorArbitrary&lt;twisted.internet.interfaces.IReactorArbitrary&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>@see: L{IReactorPluggableResolver&lt;twisted.internet.interfaces.IReactorPluggableResolver&gt;}<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:8.0pt;color:#7F7F7F'>&quot;&quot;&quot;<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:9.0pt;color:#7F7F7F'><o:p>&nbsp;</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>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=TR><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=TR>---------------------------------------------------------------<o:p></o:p></span></p><p class=MsoNormal><span lang=TR><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=TR><o:p>&nbsp;</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>&#8230;<o:p></o:p></span></p><p class=MsoNormal><span lang=TR><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><b><span lang=TR>&nbsp; -r, --reactor=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; possibilities)<o:p></o:p></span></b></p><p class=MsoNormal><span lang=TR style='font-size:9.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --help&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;</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>&nbsp;&nbsp;&nbsp; </span><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>ftp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; An FTP server.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; telnet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; service.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; socks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A SOCKSv4 proxy service.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; manhole-old&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; An interactive remote debugger service.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; portforward&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A simple port-forwarder.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; web&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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'>&nbsp;&nbsp;&nbsp; inetd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; An inetd(8) replacement.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; news&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A news server.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; wokkel-component-server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; An XMPP Component Server<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; xmpp-router&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; An XMPP Router server<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; words&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A modern words server<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; toc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; An AIM TOC service.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; dns&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;A domain name server.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; mail&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; An email service<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; manhole&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; An interactive remote debugger service<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; functionality.<o:p></o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'>&nbsp;&nbsp;&nbsp; conch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=TR style='font-size:10.0pt;color:#7F7F7F'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=TR style='color:black'>thanks<o:p></o:p></span></p></div></body></html>