# Twisted Glossary

adaptee
  An object that has been adapted, also called original. See Adapter.
`Adapter`
  An object whose sole purpose is to implement an Interface for another object. See Interfaces and Adapters.
`Application`
  A `twisted.application.service.Application`. There are HOWTOs on creating and manipulating them as a system-administrator, as well as using them in your code.
Avatar
  (from Twisted Cred) business logic for specific user. For example, in PB these are perspectives, in pop3 these are mailboxes, and so on.
`Banana`
  The low-level data marshalling layer of Twisted Spread. See `twisted.spread.banana`.
`Broker`
  A `twisted.spread.pb.Broker`, the object request broker for Twisted Spread.
cache
  A way to store data in readily accessible place for later reuse. Caching data is often done because the data is expensive to produce or access. Caching data risks being stale, or out of sync with the original data.
component
  A special kind of (persistent) `Adapter` that works with a `twisted.python.components.Componentized`. See also Interfaces and Adapters.
`Componentized`
  A Componentized object is a collection of information, separated into domain-specific or role-specific instances, that all stick together and refer to each other. Each object is an `Adapter`, which, in the context of Componentized, we call components. See also Interfaces and Adapters.
`conch`
  Twisted's SSH implementation.
Connector
  Object used to interface between client connections and protocols, usually used with a `twisted.internet.protocol.ClientFactory` to give you control over how a client connection reconnects. See `twisted.internet.interfaces.IConnector` and Writing Clients.
Consumer
  An object that consumes data from a Producer. See `twisted.internet.interfaces.IConsumer`.
Cred
  Twisted's authentication API, `twisted.cred`. See Introduction to Twisted Cred and Twisted Cred usage.
credentials
  A username/password, public key, or some other information used for authentication.
credential checker
  Where authentication actually happens. See `ICredentialChecker`.
CVSToys
  A nifty set of tools for CVS, available at http://twistedmatrix.com/users/acapnotic/wares/code/CVSToys/.
Daemon
  A background process that does a job or handles client requests. Daemon is a Unix term; service is the NT equivalent.
`Deferred`
  A instance of `twisted.internet.defer.Deferred`, an abstraction for handling chains of callbacks and error handlers (errbacks). See the Deferring Execution HOWTO.
Enterprise
  Twisted's RDBMS support. It contains `twisted.enterprise.adbapi` for asynchronous access to any standard DB-API 2.0 module, and `twisted.enterprise.row`, a Relational Object Wrapper. See Introduction to Twisted Enterprise and Twisted Enterprise Row Objects for more details.
errback
  A callback attached to a Deferred with `.addErrback` to handle errors.
`Factory`
  In general, an object that constructs other objects. In Twisted, a Factory usually refers to a `twisted.internet.protocol.Factory`, which constructs Protocol instances for incoming or outgoing connections. See Writing Servers and Writing Clients.
`Failure`
  Basically, an asynchronous exception that contains traceback information; these are used for passing errors through asynchronous callbacks.
im
  Abbreviation of (Twisted) Instance Messenger.
Instance Messenger
  Instance Messenger is a multi-protocol chat program that comes with Twisted. It can communicate via TOC with the AOL servers, via IRC, as well as via PB with Twisted Words. See `twisted.im`.
`Interface`
  A class that defines and documents methods that a class conforming to that interface needs to have. A collection of core twisted.internet interfaces can be found in `twisted.internet.interfaces`. See also Interfaces and Adapters.
Jelly
  The serialization layer for Twisted Spread, although it can be used seperately from Twisted Spread as well. It is similar in purpose to Python's standard `pickle` module, but is more network-friendly, and depends on a separate marshaller (Banana, in most cases). See `twisted.spread.jelly`.
Lore
  Lore is Twisted's documentation system. The source format is a subset of XHTML, and output formats include HTML and LaTeX.
Manhole
  A debugging/administration interface to a Twisted application.
Microdom
  A partial DOM implementation using SUX. It is simple and pythonic, rather than strictly standards-compliant. See `twisted.web.microdom`.
Names
  Twisted's DNS server, found in `twisted.names`.
Nevow
  The successor to Woven; available from Divmod.
PB
  Abbreviation of Perspective Broker.
Perspective Broker
  The high-level object layer of Twisted Spread, implementing semantics for method calling and object copying, caching, and referencing. See `twisted.spread.pb`.
Portal
  Glues credential checkers and realms together.
Producer
  An object that generates data a chunk at a time, usually to be processed by a Consumer. See `twisted.internet.interfaces.IProducer`.
`Protocol`
  In general each network connection has its own Protocol instance to manage connection-specific state. There is a collection of standard protocol implementations in `twisted.protocols`. See also Writing Servers and Writing Clients.
PSU
  There is no PSU.
Reactor
  The core event-loop of a Twisted application. See Reactor Basics.
Reality
  See Twisted Reality
realm
  (in Twisted Cred) stores avatars and perhaps general business logic. See `IRealm`.
`Resource`
  A `twisted.web.resource.Resource`, which are served by Twisted Web. Resources can be as simple as a static file on disk, or they can have dynamically generated content.
ROW
  Relational Object Wrapper, an object-oriented interface to a relational database. See Twisted Enterprise Row Objects.
Service
  A `twisted.application.service.Service`. See Application howto for a description of how they relate to Applications.
Spread
  Twisted Spread is Twisted's remote-object suite. It consists of three layers: Perspective Broker, Jelly and Banana. See Writing Applications with Perspective Broker.
SUX
  Small Uncomplicated XML, Twisted's simple XML parser written in pure Python. See `twisted.protocols.sux`.
TAC
  A Twisted Application Configuration is a Python source file, generally with the .tac extension, which defines configuration to make an application runnable using `twistd`.
TAP
  Twisted Application Pickle (deprecated), or simply just a Twisted APplication. A serialised application that was created with `mktap` and runnable by `twistd`. See Using the Utilities.
Trial
  `twisted.trial`, Twisted's unit-testing framework, modelled after pyunit. See also Writing tests for Twisted code.
Twisted Matrix Laboratories
  The team behind Twisted. http://twistedmatrix.com/.
Twisted Reality
  In days of old, the Twisted Reality multiplayer text-based interactive-fiction system was the main focus of Twisted Matrix Labs; Twisted, the general networking framework, grew out of Reality's need for better network functionality. Twisted Reality has been superseded by the Imaginary project.
`usage`
  The `twisted.python.usage` module, a replacement for the standard `getopt` module for parsing command-lines which is much easier to work with. See Parsing command-lines.
Words
  Twisted Words is a multi-protocol chat server that uses the Perspective Broker protocol as its native communication style. See `twisted.words`.
Woven
  Web Object Visualization Environment. A templating system previously, but no longer, included with Twisted. Woven has largely been superceded by Divmod Nevow.

Index

Version: 10.2.0