TRPC is a simple RPC protocol based on Google Protocol Buffers. TRPC is designed for bare-bones simplicity, and has a limited feature set:
- Synchronous RPC. Client calls block on server response. While the service definitions supported by Protocol Buffers allow an RPC system to implement asynchronous notification, TRPC does not use this facility.
- Symmetric client and server functionality. RPC clients and servers use the same underlying set of communication primitives. Only the implementation of the service running on top of TRPC differs on the client or server end.
- Tight integration with Protocol Buffers. In addition to supporting services defined by Google Protocol Buffers, the underlying communication protocol for TRPC is implemented using protocol buffers.
- C++ and Java implementation. TRPC was created to facilitate Java front-end usage of C++-native services that are not amenable to easy integration through the JNI interface. Currently C++ (client and server) and Java (client only) implementations of TRPC are available.
TRPC is copyright Barton Miller and the Paradyn Project and is licensed under the LGPL.
Documentation
We regret the lack of documentation at this time. Please take a look at the simple `hello.proto' example service and its client and server implementations.
Download
A snapshot is available.
Contact
Contact Nathan Rosenblum at UW-Madison Computer Sciences.