module documentation

Perspective Broker

"This isn't a professional opinion, but it's probably got enough internet to kill you." --glyph


This is a broker for proxies for and copies of objects. It provides a translucent interface layer to those proxies.

The protocol is not opaque, because it provides objects which represent the remote proxies and require no context (server references, IDs) to operate on.

It is not transparent because it does not attempt to make remote objects behave identically, or even similarly, to local objects. Method calls are invoked asynchronously, and specific rules are applied when serializing arguments.

To get started, begin with PBClientFactory and PBServerFactory.

Glyph Lefkowitz
Interface IPBRoot Factory for root Referenceable objects for PB servers.
Interface IPerspective per*spec*tive, n. : The relationship of aspects of a subject to each other and to a whole: 'a perspective of history'; 'a need to view the problem in the proper perspective'.
Interface IUsernameMD5Password I encapsulate a username and a hashed password.
Class AsReferenceable A reference directed towards another object.
Class Avatar A default IPerspective implementor.
Class Broker I am a broker for objects.
Class Cacheable A cached instance.
Class CopiedFailure A CopiedFailure is a pb.RemoteCopy of a failure.Failure transferred via PB.
Class Copyable Subclass me to get copied each time you are returned from or passed to a remote method.
Class CopyableFailure A flavors.RemoteCopy and flavors.Copyable version of twisted.python.failure.Failure for serialization.
Class DeadReferenceError This error is raised when a method is called on a dead reference (one whose broker has been disconnected).
Class Error This error can be raised to generate known error conditions.
Class Local (internal) A reference to a local object.
Class NoSuchMethod Raised if there is no such remote method
Class PBClientFactory Client factory for PB brokers.
Class PBConnectionLost Undocumented
Class PBServerFactory Server factory for perspective broker.
Class ProtocolError This error is raised when an invalid protocol statement is received.
Class Referenceable No class docstring; 1/1 class variable, 2/2 methods documented
Class RemoteCache A cache is a local representation of a remote Cacheable object.
Class RemoteCacheObserver I am a reverse-reference to the peer's RemoteCache.
Class RemoteCopy I am a remote copy of a Copyable object.
Class RemoteError This class is used to wrap a string-ified exception from the remote side to be able to reraise it. (Raising string exceptions is no longer possible in Python 2.6+)
Class RemoteMethod This is a translucent reference to a remote message.
Class RemoteReference A translucent reference to a remote object.
Class Root I provide a root object to pb.Brokers for a pb.PBClientFactory or pb.PBServerFactory.
Class Serializable An object that can be passed remotely.
Class Viewable I will be converted to a ViewPoint when passed to or returned from a remote method.
Class ViewPoint I act as an indirect reference to an object accessed through a pb.IPerspective.
Function challenge
Function failure2Copyable Undocumented
Function respond Respond to a challenge.
Variable MAX_BROKER_REFS Undocumented
Variable portno Undocumented
Class _JellyableAvatarMixin Helper class for code which deals with avatars which PB must be capable of sending to a peer.
Class _PortalAuthChallenger Called with response to password challenge.
Class _PortalRoot Root object, used to login to portal.
Class _PortalWrapper Root Referenceable object, used to login to portal.
def challenge(): (source)
Some random data.
def failure2Copyable(fail, unsafeTracebacks=0): (source)


def respond(challenge, password): (source)

Respond to a challenge.

This is useful for challenge/response authentication.

challengeA challenge.
passwordA password.
The password hashed twice.
MAX_BROKER_REFS: int = (source)


portno: int = (source)