Cppev is a high performance C asyncio / multithreading / multiprocessing library.
Support nonblocking-io of disk-file / pipe / fifo / socket.
Support socket protocol-type tcp / udp, protocol-family ipv4 / ipv6 / unix-domain.
Support readable / writable event handling by io-multiplexing.
Support subthread / threadpool.
Support semaphore / shared-memory.
Support mutex / condition-variable / read-write-lock shared among processes.
Support executable-file loading by subprocess, dynamic-library loading in runtime.
Support reactor / signal-handing / async-logger.
OS : Linux / macOS
Dependency : googletest
Build
$ mkdir build && cd build
$ cmake .. && make
Install
$ make install
Run Unittest
$ cd unittest && ctest
Build
$ bazel build //...
Run Unittest
$ bazel test //...
Ubuntu-20.04 / CentOS-8 / macOS-Sonoma.
Please see the examples along with a tutorial.
Repo will be long-term maintained, if you found any shortage or any new feature nice to have, feel free to raise an issue.