An easy non-blocking IPC library (one-to-one) built upon boost asio's asynchronous TCP facility. The lib is written in favor of ease of usage, that one can simply use it wihout worrying about
- asynchronous IO.
- TCP communication
- liftetime management of underlying objects.
- thread saftey.
The server and the client are communicating in terms of messages, the lib guarantee that
- A message is either delivered or dropped (in case of unexpected disconnection), no half baked message is sent.
- Multiple threads can access the message quene without extra work of synchronization.
- If there is unread message in the incoming message queue, it can be read even after the underlying TCP connect has been lost.