This is a non-blocking BSD (POSIX) network socket library over TCP/IP and Inter-process Communication (IPC) for Liunx. The library is a wrapper around the POSIX socket programming and IPC system calls which hires Linux kernel edge-triggered polling mechanism (epoll) to provide an async network/inter-process communication. The library supports following communications:
- TCP
- UDP Unicast
- UDP Multicast
- FIFO (Named Pipe)
The current library dependencies are as follows:
- Cpp Standard: 14
- Cmake mimimum version: 3.14
- Compiler:
- GCC C/C++ Compiler (x86-64 Linux GNU): 11.2.0; or
- Clang C/C++ Compiler (x86-64 PC Linux GNU): 14.0.0
- Google Test: v1.12.1
- Linux kernel minimum version: 2.6
The library documentation is available from GitHub Pages which is powered by Doxygen .
The library samples build is disabled by default. To be able to build the library with the samples, following bash command can be used:
cmake -S . -B build -Dbuild_samples=ON
cmake --build build
# To run the tests:
cd build && ctest