RBP - the RGC Binary Protocol

RBP is the native protocol used between a RGC client and a RGC server. It's a simple binary representation of a set of memory structures, called RbpMessage?s.

RbpMessages

They are defined in src/connection/rbp/rbp_message.c and rbp_message.h. RbpMessages are divided in:

client -> server

RbpMessageNew?
creates a new object
RbpMessageCall?
call a method on an object
RbpMessageData?
set a property on an object
RbpMessageRef?
increase/decrease the referency count on an object. The object will be destroyed if the refcount reaches 0.
RbpMessageQuery?
query some information about an object. The server will answer with an RbpMessageInfo.

server -> client ("callbacks")

RbpCallback?
caused by a signal. It will invoke the corresponding signal handler on clients.
RbpInfo?
answers a RbpMessageQuery, or inform the client that a property on an object has changed.