1 <?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html lang="en" xmlns="http://www.w3.org/1999/xhtml">
3 <title>Twisted Documentation: Twisted Documentation</title>
4 <link href="stylesheet.css" rel="stylesheet" type="text/css"/>
8 <h1 class="title">Twisted Documentation</h1>
9 <div class="toc"><ol/></div>
14 <li><a name="introduction" shape="rect">Introduction</a>
17 <li><a href="vision.html" shape="rect">Executive summary</a><br clear="none"/>
18 Connecting your software - and having fun too!</li>
22 <li><a name="tutorials" shape="rect">Getting Started</a>
25 <li><a href="servers.html" shape="rect">Writing a TCP server</a><br clear="none"/>
26 Basic network servers with Twisted.</li>
28 <li><a href="clients.html" shape="rect">Writing a TCP client</a><br clear="none"/>
29 And basic clients.</li>
31 <li><a href="trial.html" shape="rect">Test-driven development with
32 Twisted</a><br clear="none"/>
33 Code without tests is broken by definition; Twisted makes it easy to test your network code.</li>
36 <a href="tutorial/index.html" shape="rect">Tutorial: Twisted From
40 <li><a href="tutorial/intro.html" shape="rect">The Evolution of
41 Finger: building a simple finger service</a></li>
43 <li><a href="tutorial/protocol.html" shape="rect">The Evolution of
44 Finger: adding features to the finger service</a></li>
46 <li><a href="tutorial/style.html" shape="rect">The Evolution of
47 Finger: cleaning up the finger code</a></li>
49 <li><a href="tutorial/components.html" shape="rect">The Evolution of
50 Finger: moving to a component based
53 <li><a href="tutorial/backends.html" shape="rect">The Evolution of
54 Finger: pluggable backends</a></li>
56 <li><a href="tutorial/web.html" shape="rect">The Evolution of
57 Finger: a clean web frontend</a></li>
59 <li><a href="tutorial/pb.html" shape="rect">The Evolution of Finger:
60 Twisted client support using Perspective
63 <li><a href="tutorial/factory.html" shape="rect">The Evolution of
64 Finger: using a single factory for multiple
67 <li><a href="tutorial/client.html" shape="rect">The Evolution of
68 Finger: a Twisted finger client</a></li>
70 <li><a href="tutorial/library.html" shape="rect">The Evolution of
71 Finger: making a finger library</a></li>
73 <li><a href="tutorial/configuration.html" shape="rect">The Evolution
74 of Finger: configuration and packaging of the finger
79 <li><a href="quotes.html" shape="rect">Setting up the TwistedQuotes
82 <li><a href="design.html" shape="rect">Designing a Twisted application</a></li>
86 <li><a name="events" shape="rect">Networking and Other Event Sources</a>
89 <li><a href="internet-overview.html" shape="rect">Twisted
90 Internet</a><br clear="none"/>
91 A brief overview of the <code>twisted.internet</code> package.</li>
93 <li><a href="reactor-basics.html" shape="rect">Reactor basics</a><br clear="none"/>
94 The event loop at the core of your program.</li>
96 <li><a href="ssl.html" shape="rect">Using SSL in Twisted</a><br clear="none"/>
97 Add some security to your network transport.</li>
99 <li><a href="udp.html" shape="rect">UDP Networking</a><br clear="none"/>
102 <li><a href="process.html" shape="rect">Using processes</a><br clear="none"/>
103 Launching sub-processes, the correct way.</li>
105 <li><a href="defer.html" shape="rect">Using Deferreds</a><br clear="none"/>
106 Like callback functions, only a lot better.</li>
108 <li><a href="gendefer.html" shape="rect">Generating deferreds</a><br clear="none"/>
109 More about Deferreds.</li>
111 <li><a href="time.html" shape="rect">Scheduling</a><br clear="none"/>
112 Timeouts, repeated events, and more: when you want things to happen later.</li>
114 <li><a href="threading.html" shape="rect">Using threads</a><br clear="none"/>
115 Running code in threads, and interacting with Twisted in a thread-safe manner.</li>
117 <li><a href="producers.html" shape="rect">Producers and Consumers: Efficient High-Volume Streaming</a><br clear="none"/>
118 How to pause when buffers fill up.</li>
120 <li><a href="choosing-reactor.html" shape="rect">Choosing a reactor and
121 GUI toolkit integration</a><br clear="none"/>
122 GTK+, Windows, epoll() and more: use your GUI of choice, or a faster event loop.</li>
126 <li><a name="highlevel" shape="rect">High-Level Infrastructure</a>
128 <li><a href="endpoints.html" shape="rect">Getting Connected with Endpoints</a><br clear="none"/>
129 Create configurable applications that support multiple transports (e.g. TCP and SSL).</li>
131 <li><a href="components.html" shape="rect">Interfaces and Adapters
132 (Component Architecture)</a><br clear="none"/>
133 When inheritance isn't enough.</li>
135 <li><a href="cred.html" shape="rect">Cred: Pluggable
136 Authentication</a><br clear="none"/> Implementing authentication and
137 authorization that is configurable, pluggable and
140 <li><a href="plugin.html" shape="rect">Twisted's plugin architecture</a><br clear="none"/>
141 A generic plugin system for extendable programs.</li>
145 <li><a name="deploying" shape="rect">Deploying Twisted Applications</a>
148 <li><a href="basics.html" shape="rect">Helper programs and scripts
149 (twistd, ..)</a><br clear="none"/>
150 <code>twistd</code> lets you daemonize and run your
153 <li><a href="application.html" shape="rect">Using the Twisted Application
154 Framework</a><br clear="none"/>
155 Writing code that <code>twistd</code> can run.</li>
157 <li><a href="tap.html" shape="rect">Writing Twisted Application Plugins
158 for twistd</a><br clear="none"/>
159 More powerful <code>twistd</code> deployment method.</li>
163 <li><a name="utilities" shape="rect">Utilities</a>
166 <li><a href="logging.html" shape="rect">Logging</a><br clear="none"/>
167 Keep a record of what your application is up to.</li>
169 <li><a href="constants.html" shape="rect">Symbolic constants</a><br clear="none"/>
170 enum-like constants.</li>
172 <li><a href="rdbms.html" shape="rect">Twisted RDBMS support with
173 adbapi</a><br clear="none"/>
174 Using SQL with your relational database via DB-API adapters.</li>
176 <li><a href="options.html" shape="rect">Parsing command-line arguments</a><br clear="none"/>
177 The command-line argument parsing used by <code>twistd</code>.</li>
179 <li><a href="dirdbm.html" shape="rect">Using Dirdbm: Directory-based Storage</a><br clear="none"/>
180 A simplistic way to store data on your filesystem.</li>
182 <li><a href="testing.html" shape="rect">Tips for writing tests for Twisted
183 code using Trial</a><br clear="none"/>
184 More information on writing tests.</li>
186 <li><a href="sendmsg.html" shape="rect">Extremely Low-Level Socket Operations</a><br clear="none"/>
187 Using wrappers for sendmsg(2) and recvmsg(2).</li>
191 <li><a name="amp" shape="rect">Asynchronous Messaging Protocol (AMP)</a>
194 <li><a href="amp.html" shape="rect">Asynchronous Messaging Protocol Overview</a><br clear="none"/>
195 A two-way asynchronous message passing protocol, for when HTTP isn't good enough.</li>
199 <li><a name="pb" shape="rect">Perspective Broker</a>
201 <li><a href="pb.html" shape="rect">Twisted Spread</a><br clear="none"/>
202 A remote method invocation (RMI) protocol: call methods on remote objects.</li>
204 <li><a href="pb-intro.html" shape="rect">Introduction to Perspective
207 <li><a href="pb-usage.html" shape="rect">Using Perspective
210 <li><a href="pb-clients.html" shape="rect">Managing Clients of
211 Perspectives</a></li>
213 <li><a href="pb-copyable.html" shape="rect">Passing Complex
216 <li><a href="pb-cred.html" shape="rect">Authentication with Perspective
219 <li><a href="pb-limits.html" shape="rect">PB Limits</a></li>
223 <li><a name="appendix" shape="rect">Appendix</a>
226 <li><a href="glossary.html" shape="rect">Glossary</a></li>
228 <li class="ignoretoc"><a href="debug-with-emacs.html" shape="rect">Tips
229 for debugging with emacs</a></li>
236 <p><a href="index.html">Index</a></p>
237 <span class="version">Version: 12.1.0</span>