128 lines
6.9 KiB
HTML
128 lines
6.9 KiB
HTML
<?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">
|
|
<head>
|
|
<title>Twisted Documentation: Historical Documents</title>
|
|
<link href="howto/stylesheet.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
|
|
<body bgcolor="white">
|
|
<h1 class="title">Historical Documents</h1>
|
|
<div class="toc"><ol><li><a href="#auto0">2003</a></li><ul><li><a href="#auto1">Python Community Conference</a></li></ul><li><a href="#auto2">Previously</a></li></ol></div>
|
|
<div class="content">
|
|
<span/>
|
|
|
|
<p>Here are documents which contain no pertinent information or documentation.
|
|
People from the Twisted team have published them, and they serve as interesting
|
|
land marks and thoughts. Please don't look here for documentation -- however,
|
|
if you are interested in the history of Twisted, or want to quote from these
|
|
documents, feel free. Remember, however -- the documents here may contain
|
|
wrong information -- they are not updated as Twisted is, to keep their
|
|
historical value intact.</p>
|
|
|
|
<h2>2003<a name="auto0"/></h2>
|
|
<h3>Python Community Conference<a name="auto1"/></h3>
|
|
|
|
<p>These papers were part of the <a href="http://python.org/pycon/" shape="rect">Python Community Conference</a> (PyCon) in March of 2003.</p>
|
|
|
|
|
|
|
|
<dl>
|
|
<dt><a href="2003/pycon/deferex.html" shape="rect"><cite>Generalization of Deferred Execution in Python</cite></a></dt>
|
|
|
|
<dd><p>A deceptively simple architectural challenge faced by many
|
|
multi-tasking applications is gracefully doing nothing. Systems that
|
|
must wait for the results of a long-running process, network message, or
|
|
database query while continuing to perform other tasks must establish
|
|
conventions for the semantics of waiting. The simplest of these is
|
|
blocking in a thread, but it has significant scalability problems. In
|
|
asynchronous frameworks, the most common approach is for long-running
|
|
methods to accept a callback that will be executed when the command
|
|
completes. These callbacks will have different signatures depending on
|
|
the nature of the data being requested, and often, a great deal of code
|
|
is necessary to glue one portion of an asynchronous networking system to
|
|
another. Matters become even more complicated when a developer wants to
|
|
wait for two different events to complete, requiring the developer to
|
|
"juggle" the callbacks and create a third, mutually incompatible
|
|
callback type to handle the final result.</p>
|
|
|
|
<p>This paper describes the mechanism used by the Twisted framework for
|
|
waiting for the results of long-running operations. This mechanism,
|
|
the <code>Deferred</code>, handles the often-neglected problems of
|
|
error handling, callback juggling, inter-system communication and code
|
|
readability.</p></dd>
|
|
|
|
<dt><a href="2003/pycon/applications/applications.html" shape="rect"><cite>Applications of the Twisted Framework</cite></a></dt>
|
|
|
|
<dd><p>Two projects developed using the Twisted framework are described;
|
|
one, Twisted.names, which is included as part of the Twisted
|
|
distribution, a domain name server and client API, and one, Pynfo, which
|
|
is packaged separately, a network information robot.</p></dd>
|
|
|
|
<dt><a href="2003/pycon/conch/conch.html" shape="rect"><cite>Twisted.Conch: SSH in Python with Twisted</cite></a></dt>
|
|
|
|
<dd><p>Conch is an implementation of the Secure Shell Protocol (currently
|
|
in the IETF standarization process). Secure Shell (or SSH) is a popular
|
|
protocol for remote shell access, file management and port forwarding
|
|
protected by military-grade security. SSH supports multiple encryption and
|
|
compression protocols for the wire transports, and a flexible system of
|
|
multiplexed channels on top. Conch uses the Twisted networking framework
|
|
to supply a library which can be used to implement both SSH clients and
|
|
servers. In addition, it also contains several ready made client programs,
|
|
including a drop-in replacement for the OpenSSH program from the OpenBSD
|
|
project.</p></dd>
|
|
|
|
<dt><a href="2003/pycon/lore/lore.html" shape="rect"><cite>The Lore Document Generation Framework</cite></a></dt>
|
|
|
|
<dd><p>Lore is a documentation generation system which uses a limited
|
|
subset of XHTML, together with some class attributes, as its source
|
|
format. This allows for lower barrier of entry than many other similar
|
|
systems, since HTML authoring tools are plentiful as is knowledge of
|
|
HTML writing. As an added advantage, the source format is viewable
|
|
directly, so that even if Lore is not available the documentation is
|
|
useful. It currently outputs LaTeX and HTML, which allows for most
|
|
use-cases.</p></dd>
|
|
|
|
<dt><a href="2003/pycon/pb/pb.html" shape="rect"><cite>Perspective Broker: <q>Translucent</q> Remote Method calls in Twisted</cite></a></dt>
|
|
|
|
<dd><p>One of the core services provided by the Twisted networking
|
|
framework is <q>Perspective Broker</q>, which provides a clean, secure,
|
|
easy-to-use Remote Procedure Call (RPC) mechanism. This paper explains the
|
|
novel features of PB, describes the security model and its implementation,
|
|
and provides brief examples of usage.</p></dd>
|
|
|
|
<dt><a href="2003/pycon/releasing/releasing.html" shape="rect"><cite>Managing the Release of a Large Python Project</cite></a></dt>
|
|
|
|
<dd><p>Twisted is a Python networking framework. At last count, the
|
|
project contains nearly 60,000 lines of effective code (not comments or
|
|
blank lines). When preparing a release, many details must be checked, and
|
|
many steps must be followed. We describe here the technologies and tools
|
|
we use, and explain how we built tools on top of them which help us make
|
|
releasing as painless as possible.</p></dd>
|
|
|
|
<dt><a href="2003/pycon/twisted-reality/twisted-reality.html" shape="rect"><cite>Twisted Reality: A Flexible Framework for Virtual Worlds</cite></a></dt>
|
|
|
|
<dd><p>Flexibly modelling virtual worlds in object-oriented languages has
|
|
historically been difficult; the issues arising from multiple
|
|
inheritance and order-of-execution resolution have limited the
|
|
sophistication of existing object-oriented simulations. Twisted
|
|
Reality avoids these problems by reifying both actions and
|
|
relationships, and avoiding inheritance in favor of automated
|
|
composition through adapters and interfaces.</p></dd>
|
|
</dl>
|
|
|
|
<h2>Previously<a name="auto2"/></h2>
|
|
|
|
<ul>
|
|
<li><a href="ipc10paper.html" shape="rect">The paper Glyph and Moshe presented in
|
|
IPC10</a></li>
|
|
<li><a href="ipc10errata.html" shape="rect">The errata published in IPC10 against the
|
|
paper.</a></li>
|
|
<li><a href="twisted-debian.html" shape="rect">A paper Moshe wrote about Twisted and
|
|
Debian.</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<p><a href="howto/index.html">Index</a></p>
|
|
<span class="version">Version: 10.0.0</span>
|
|
</body>
|
|
</html> |