C API communication

Remote call

The idea of the remote call is to produce function values by remote tcp/ip request. In order to do so one needs following parts:

  1. The protocol for message passing. It is intended to use DataForge envelope protocol for that. 
  2. Envelope parser/writer implementation
  3. Function server implementation. Server must be able to receive incoming connections and provide following features.
    1. Support multiple functions resolved by name string (using DataForge path notation).
    2. Support returning multiple values in one message.
    3. (For Java only?) Support connecting server to existing running DF message server.
  4. Function client implementation. Implement TCP client that will make synchronous request for the value from server. It must have API indistinguishable from local function call. Must be equipped with tests.
  5. Perform benchmarking of the whole client-server cycle.