twisted.spread.pbView Source (View In Hierarchy)
I act as an indirect reference to an object accessed through a
Simply put, I combine an object with a perspective so that when a peer calls methods on the object I refer to, the method will be invoked with that perspective as a first argument, so that it can know who is calling it.
will be converted to ViewPoints by default when they are returned from or
sent as arguments to a remote method, any object may be manually proxied as
well. (XXX: Now that this class is no longer named
is the only occurrence of the term 'proxied' in this docstring, and may be
| def perspective_getViewPointForOther(self, name): | defr = self.service.getPerspectiveRequest(name) | defr.addCallbacks(lambda x, self=self: ViewPoint(self, x), log.msg) | return defr
This will allow you to have references to Perspective objects in two
different ways. One is through the initial 'attach' call -- each peer will
to their perspective directly. The other is through this method; each peer
can get a
to all other perspectives in the service; but that
will be to a
directly to the object.
The practical offshoot of this is that you can implement 2 varieties of
remotely callable methods on this Perspective; view_xxx and
view_xxx methods will follow the
rules for ViewPoint methods (see ViewPoint.
perspective_xxx methods will follow the rules for
|Method||__init__||Initialize me with a Perspective and an Object.|
|Method||processUniqueID||Return an ID unique to a proxy for this perspective+object combination.|
|Method||remoteMessageReceived||A remote message has been received. Dispatch it appropriately.|
Initialize me with a Perspective and an Object.
Return an ID unique to a proxy for this perspective+object combination.
A remote message has been received. Dispatch it appropriately.
The default implementation is to dispatch to a method called
view_messagename' to my Object and call it on my object with
the same arguments, modified by inserting my Perspective as the first