ipc
Flow-IPC is a modern C++ toolkit for high-performance inter-process communication (IPC) that targets Linux on x86-64 processors and requires C++17 or higher. It enables the sharing or transmission of data structures, including blobs, file descriptors, STL-compliant containers, and schema-based payloads like Cap'n Proto, between processes with minimal performance overhead. Flow-IPC emphasizes end-to-end zero-copy operation by leveraging shared memory, eliminating expensive data copies. The library provides APIs that are both performant and easy to develop and reuse, addressing the common difficulty of writing high-speed IPC code in C++. It builds on existing technologies like Unix domain sockets, message queues, shared memory, and zero-copy serialization tools. Documentation is available through a guided manual and comprehensive reference at the project website. Source code can be obtained via release tarballs or Git. Support for macOS, BSD, ARM64, and networked IPC is planned.