On 2007-10-19 14:51, Duncan Webb wrote:
> Really Twisted is being used in the recording server to handle rpc and
> nothing more. Python also support rpc natively and is a hell of a lot
> cleaner than Jelly :) Is kaa.rpc is an extension of Twisted or of the
> Python rpc stuff.

kaa.rpc doesn't depend on Twisted (nothing in kaa does), and it doesn't
use any other RPC mechanism in python (like xmlrpclib).  It's self
contained.  It works over unix or tcp sockets, and serializes data
across them using standard pickling.  Everything is asynchronous via
InProgress objects.

You expose functions or methods via a decorator, and then connect those
methods to a server object.  The client can then call those methods
remotely by the exposed name.  Passed arguments and return values are
pickled and sent over the wire.

kaa.rpc also supports authentication.

Here is a simple client/server example.  Server:

    import kaa.rpc, time

    @kaa.rpc.expose('ping')
    def ping(name):
        return 'Hello %s, time is %s' % (name, time.strftime('%H:%M:%S'))

    rpc = kaa.rpc.Server('pingtest')
    rpc.connect(ping)
    kaa.main()
      

Client:

    import kaa.rpc

    def handle_result(r):
        print "Result:", r
        raise SystemExit

    c = kaa.rpc.Client('pingtest')
    c.rpc('ping', 'Bob').connect(handle_result)
    kaa.main()
      


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to