Cppev is a high performance C++ asyncio / multithreading / multiprocessing library.
Support io operations of disk-file / pipe / fifo / socket (socket protocol-type tcp / udp, protocol-family ipv4 / ipv6 / unix-domain).
Support io event listening by io-multiplexing, event-type readable / writable, event-mode level-trigger / edge-trigger / oneshot.
Support subthread / threadpool.
Support semaphore / shared-memory.
Support thread / process level signal-handing / mutex / condition-variable / read-write-lock.
Support executable-file loading by subprocess, dynamic-library loading in runtime.
Support tcp server / client by multi-threading / nonblocking-io / level-trigger-event-listening with performance and robustness.
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 //...
Please see the examples along with a tutorial.