[Twisted-Python] Perspective Broker vs AMP
Drew Smathers
drew.smathers at gmail.com
Mon Mar 31 05:40:44 MDT 2008
On Mon, Mar 31, 2008 at 6:55 AM, Phil Mayers <p.mayers at imperial.ac.uk> wrote:
> Simon Pickles wrote:
> > Hi,
> >
> > You may have seen my recent posts about data comms across nodes of
> > server network.
> >
> > Phil kindly pointed me towards PB and AMP which, after some fiddling
> > both look viable. However, I do have one question: If clients can
> > request remote data from the server, is the reverse possible?
> >
> > As I understand PB, a client can get the root object of a
> > PBServerFactory, thru which it can call methods with the 'remote_'
> > prefix. I'm not clear how this can work in the other direction. As for
>
> Well, this is a contrived example (since you could just return the
> deferred) but:
>
> class Server(pb.Referenceable):
> def remote_foo(self, client):
> d = doThing().addCallback(self.thing_result, client)
>
> def thing_result(self, result, client):
> client.callRemote('thing', result)
>
>
>
> class Client(pb.Referenceable):
> def remote_thing(self, thing):
> # do something
>
> def callServer(self):
> d = self.server.getRootObject().addCallback(self.callServer2)
> def callServer2(self, server):
> server.callRemote('foo', self)
>
> That is - when you callRemote() you can pass pb.Referenceable as
> arguments, and the other end call callRemote on those objects.
>
>
>
> > AMP, this seems similar - the client uses callRemote() to execute remote
> > methods on the amp server.
>
> No idea about AMP
>
AMP is bidirectional as well. The server uses callRemote to
communicate with the connected client(s):
http://djfroofy.livejournal.com/3509.html
--
\\\\\/\"/\\\\\\\\\\\
\\\\/ // //\/\\\\\\\
\\\/ \\// /\ \/\\\\
\\/ /\/ / /\/ /\ \\\
\/ / /\/ /\ /\\\ \\
/ /\\\ /\\\ \\\\\/\
\/\\\\\/\\\\\/\\\\\\
d.p.s
More information about the Twisted-Python
mailing list