May 26, 2018
RPC protocol for Twisted Python
Foolscap is an RPC/RMI Remote Procedure Call / Remote Method Invocation protocol for use with Twisted, derived/inspired by Twisted’s built-in “Perspective Broker” package.
If you have control of both ends of the wire, and are thus not constrained to use some other protocol like HTTP/XMLRPC/CORBA/etc, you might consider using Foolscap.
Fundamentally, Foolscap allows you to make a python object in one process available to code in other processes, which means you can invoke its methods remotely. This includes a data serialization layer to convey the object graphs for the arguments and the eventual response, and an object reference system to keep track of which objects you are connecting to. It uses a capability-based security model, such that once you create a non-public object, it is only accessible to clients to whom you’ve given the unguessable FURL. You can of course publish world-visible objects that have well-known FURLs.