For some project I am plannning to develop a communication stack, which has to be used by multiple applications. The idea is to have the stack inside a shared library.The core of the stack requires some threads for handling rx/tx and message processing. This part will run in a dedicated process.
Some other applications will access the shared library via a set of function calls. In this case the stack and each application run in different processes.
The way I see it now I have to define some IPC mechanism inside the shared lib which passes messages back and forth between the stack logic and the application interface (either via pipes, sockets or shared mem).
I wonder what the usual approaches are for this kind of situations ?
Is it for example possible to instantiate the classes which handle the stack inside a shared memory segment, so it is not required to translate function calls into messages ?