Part of twisted.spread.flavors View 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.
objects 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
Proxy, this is the only occourance of the term 'proxied' in
this docstring, and may be unclear.)
Cacheables. It is legal to implement a method as such on a perspective:
| 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
not directly to the object.
view_xxxmethods will follow the rules for ViewPoint methods (see ViewPoint.
perspective_xxxmethods will follow the rules for Perspective methods.
|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.|
Inherited from Referenceable:
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 argument.