Hi,

I've been entertaining myself by putting together an IPC interface to 
the GRASP Python prototype. (As of today, it seems to be working,
but the code is not fit to publish yet.)

Why? Because this is what we need for multiple independent ASAs
to call a single instance of the GRASP core. 

How? To make the solution portable (not efficient, because this is
a prototype), I simply use TCP as the IPC mechanism. This would also
make it rather trivial to turn the thing into a genuine RPC.

Like any RPC solution, I needed to serialise the calls and the
returns. How? I decided to use CBOR. The details get a bit ugly,
but it works. (Primitive ASCII art below.)

The advantage of using CBOR is that although so far everything is
in Python, the serialised calls and returns are "just" CBOR/TCP.
So a smart C programmer, using one of the CBOR libraries, could
put together an API in C that could then issue GRASP API calls
via the IPC mechanism.

I am not a smart C programmer. So here's the challenge: who would
like to work on this? Before the hackathon, or during the hackathon.

If someone puts their hand up, I would have to do a bit more
work to document the ugly details. So please put your hand up
soon. And the result should be open source, of course.

(In theory, the approach would apply to any language that has
CBOR support, but C seems the obvious lowest common denominator.
Or maybe C++?)

Who wants in?

    Brian

ASA <=> Local <=> IPC  <=> CBOR/TCP <=> IPC  <=> Main <=> GRASP
        API       client                server   API      core

_______________________________________________
Anima mailing list
Anima@ietf.org
https://www.ietf.org/mailman/listinfo/anima

Reply via email to