[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
In this section we give an overview of how the LADCCA system operates,
describing the server and client objects and operations that make it work. The
ladccad
server must be running in order for clients to participate
in the system; clients cannot interoperate soley between themselves. The
server maintains a list of connected clients and a list of projects with
which these clients are associated.
The server and clients exchange events and configs over their connections. There is one, and only one, bi-directional connection between a client and the server. The transport for this connection is currently TCP.
An event is a very simple object having two relevant properties: a type and an
optional arbitrary character string. The type defines what the event means to the recipient,
and the string allows additional information to be included with it. For
example, if a client wishes the server to save the current project, it sends a
CCA_Save
event to the server. While saving the project, the server
may wish to tell a client to save its data in a certain directory. To so,
it sends a CCA_Save_File
event to the client with a string containing the
name of a directory into which the client should save its data files.
Clients can save data on the server if they wish. To do this, the
client declares that it wants to save data on the server when it initialises the server connection
and then later sends one or more configs to the server. A config is
also a very simple object. It has a client-unique character string key, and
a value of arbitrary size and type (well, almost arbitrary; its size must
be able to be described by a uint32_t
integer due to byte-order conversions
done when sending data over the network.)
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |