Remote procedure calls using TCP / UDP with TLV encoding. - Summary
This group is not part of the GNU Project.
This package aids in development of distributed systems by letting the user define his/her own messages. The user defines the messages in a high level language and a code generator generates C++ code to enable the user to perform RPC (remote procedure calls). RPCs can be either implemented using a non-blocking interface in which case the user program can be single threaded or a blocking interface in which case the user program has to be multi-threaded.
There are three pieces of this project -
o Code generator that generates generic C++ classes & functions.
o Sockets library & connections manager library (C++ code)
o User defined code that the user maintains to add his/her own special processing.
Messaging is implemented using TLVs (type length value). The IDL (interface definition language) is a "C" type language in which the user specifies his/her own "type" fields. User defined "type" fields aids backward compatibility between systems using different versions of the IDL. All high level data structures and functions are defined in the IDL and a code generator generates C++ code which is linked in both the client and server side providing both sides (client & server) equal access to all the generated funtions / data structures.
The transport mechanism is non-blocking TCP or UDP sockets, however with a bit of programming any other transport can be used. Serialize/de-serialze functions are sperated in order for the user to just use that portion of the code.
Registration Date: Mon 04 Apr 2005 09:39:54 PM UTC
License: GNU General Public License v3 or later
Development Status: 4 - Beta
- Browse open items
Submit a new item
- Browse open items
Submit a new item
Powered by Savane 3.13-4b48.
Corresponding source code