module documentation
(source)

Perspective Broker

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

Introduction

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.

AuthorGlyph Lefkowitz
Class Serializable An object that can be passed remotely.
Class Referenceable No class docstring; 1/1 class variables, 2/2 methods documented
Class NoSuchMethod Raised if there is no such remote method
Class Root I provide a root object to pb.Brokers for a pb.PBClientFactory or pb.PBServerFactory.
Interface IPBRoot Factory for root Referenceable objects for PB servers.
Class ViewPoint I act as an indirect reference to an object accessed through a pb.IPerspective.
Class Viewable I will be converted to a ViewPoint when passed to or returned from a remote method.
Class Copyable Subclass me to get copied each time you are returned from or passed to a remote method.
Class Cacheable A cached instance.
Class RemoteCopy I am a remote copy of a Copyable object.
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.
Variable MAX_BROKER_REFS Undocumented
Variable portno Undocumented
Class ProtocolError This error is raised when an invalid protocol statement is received.
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 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 PBConnectionLost Undocumented
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'.
Class Avatar A default IPerspective implementor.
Class AsReferenceable A reference directed towards another object.
Class RemoteReference A translucent reference to a remote object.
Class Local (internal) A reference to a local object.
Class CopyableFailure A flavors.RemoteCopy and flavors.Copyable version of twisted.python.failure.Failure for serialization.
Class CopiedFailure A CopiedFailure is a pb.RemoteCopy of a failure.Failure transferred via PB.
Function failure2Copyable Undocumented
Class Broker I am a broker for objects.
Function respond Respond to a challenge.
Function challenge
Class PBClientFactory Client factory for PB brokers.
Class PBServerFactory Server factory for perspective broker.
Interface IUsernameMD5Password I encapsulate a username and a hashed password.
Class _PortalRoot Root object, used to login to portal.
Class _JellyableAvatarMixin Helper class for code which deals with avatars which PB must be capable of sending to a peer.
Class _PortalWrapper Root Referenceable object, used to login to portal.
Class _PortalAuthChallenger Called with response to password challenge.
MAX_BROKER_REFS = (source)

Undocumented

(type: int)
portno = (source)

Undocumented

(type: int)
def failure2Copyable(fail, unsafeTracebacks=0): (source)

Undocumented

def respond(challenge, password): (source)

Respond to a challenge.

This is useful for challenge/response authentication.

ParameterschallengeA challenge.
passwordA password.
ReturnsThe password hashed twice.
def challenge(): (source)
ReturnsSome random data.
API Documentation for Twisted, generated by pydoctor 20.12.1 at 2021-02-28 19:53:36.