A perspective on a service.
perspective, 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 .
A service represents a collection of state, plus a collection of
perspectives. Perspectives are the way that networked clients have
a view onto an object, or collection of objects on the server.
Although you may have a service onto which there is only one
perspective, the common case is that a Perspective will be
analagous to (or the same as) a "user"; if you are creating a
PB-enabled service, your User (or equivalent) class should subclass
Perspective.
Initially, a peer requesting a perspective will receive only a
RemoteReference to a Perspective. When a method is called on
that RemoteReference, it will translate to a method on the remote
perspective named perspective_methodname . (For more information
on invoking methods on other objects, see ViewPoint.)
Methods
|
|
brokerAttached
brokerDetached
perspectiveMessageReceived
|
|
brokerAttached
|
brokerAttached (
self,
reference,
identity,
broker,
)
An intermediary method to override.
Normally you will want to use attached , as described in
twisted.cred.perspective.Perspective.attached; however, this method
serves the same purpose, and in some circumstances, you are sure that
the protocol that objects will be attaching to your Perspective with is
Perspective Broker, and in that case you may wish to get the Broker
object they are connecting with, for example, to determine what host
they are connecting from. Bear in mind that when overriding this
method, other, non-PB protocols will not notify you of being attached
or detached.
|
|
brokerDetached
|
brokerDetached (
self,
reference,
identity,
broker,
)
See brokerAttached.
|
|
perspectiveMessageReceived
|
perspectiveMessageReceived (
self,
broker,
message,
args,
kw,
)
This method is called when a network message is received.
I will call:
self.perspective_%(message)s(*broker.unserialize(args),
**broker.unserialize(kw))
to handle the method; subclasses of Perspective are expected to
implement methods of this naming convention.
|
|