The cxMessage library allows for sending messages over TCP/IP
It is very low level. The messages are opaque sequences of octets as far as the cxMessage layer is concerned.
MsgWriter and MsgReader are concerned with the buffering of messages as well as the division of a byte stream into variable length messages. This is achieved with zero copy overhead on both the writer and reader.
Messages are streamed with a 4 byte header which records the size of the message body in bytes:
A TcpMsgConnection manages both the reading and writing of messages on a connected stream oriented socket using both a MsgWriter and MsgReader.
The TcpMsgConnection makes calls on an object that implements interface ITcpMsgHandler to obtain the messages to be sent and forward on the messages that are received.
cxMessage ├── AsyncTask.h ├── AutoResetEvent.h ├── CacheMap.h ├── CheckSameThread.h ├── IThreadPool.h ├── ManualResetEvent.h ├── MemoryReclaimer.h ├── MsgReadBuffer.h ├── MsgWriteBuffer.h ├── SignaledTask.h ├── TcpMsg.h ├── ThreadBlockerWhileUsed.h ├── ThreadName.h ├── ThreadPoolMixin.h ├── TimeOutTask.h ├── VirtualAllocBuffer.h └── cxMessage.h