IPC is lightweight cross platform C++ Inter Process Communication library.
IPC is distributed under the MPL v2.0 License. See LICENSE for details.
IPC library consists of 5 class types: sockets, engines, messages, exceptions and RPC-related classes. Socket classes allows user to send and receive either raw data (as raw messages) or tuple-like type safe messages. Type safety checking can be disabled for performance reasons, maximum message size can be tuned too. Low level system specific routines for sockets are provided by engines. Library capabilities can be easily extended by implementing additional engines. RPC-related classes provide easy to use message based facility for remote procedure calls.
Library is written using C++ 17 standard, so compatible compiler is required. Some library features require new enough system and headers. On Windows some library features (Unix sockets related classes, Virtual (Hyper-V) sockets) may not be available if operating system or Windows SDK is not new enough. On Linux hv_sock kernel module must be available if you are going to use Hyper-V facility.
First of all you should run CMake to generate project for your build system (CMakeLists.txt could be found in repos root). After that you can build examples and tests by your favourite way.
Documentation can be generated by doxygen (jus run it in project directory and open doc/html/index.html).