RGC
RGC is an object-oriented library based on GLib which handles RPC communications between a server and one or more clients, on local or remote machines. It uses a simple binary protocol, RBP, to achieve good performance and low overhead (the critical parts of the library are RT-safe). On the server side it can support other protocols (as OSC and D-BUS) to better integrate with existing programs.
Architecture
RGC is split (and packaged) into two parts: rgc_server and rgc_client. They are built from the src/client and src/server directories. The src/common directory contains some shared functionality and some shortcuts for frequently used GLib stuff.
The src/connection implements both the client-side and the server-side communications protocols.
Protocols
The main protocol used in communicating between the server and the client is RBP. Every protocol is implemented by subclassing RgcProtocolServer and RgcProtocolClient. Note that not every protocol implements all the methods declared here - the missing ones will be simply ignored.
