Skip to end of metadata
Go to start of metadata

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. 
    • Write better documentation for the protocol Alexander Nozik
    • Specify meta for function requests and respnses
    • Specify binary format for numbers. Consider using different number representations.
  2. Envelope parser/writer implementation
    • C++ impllementation + Julia wrapper OR pure Julia implementation of DF envelope with minimum list of meta formats
      • XML
      • JSON
      • BSON
  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.

  • No labels