From 9cc990a009a4702edf805dc5818bf4cbfffcf140 Mon Sep 17 00:00:00 2001 From: Determinant Date: Wed, 25 Jul 2018 19:48:09 -0400 Subject: add MsgNetwork benchmark --- README.rst | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 827341d..5cf9366 100644 --- a/README.rst +++ b/README.rst @@ -23,6 +23,31 @@ Features - Utilities. The library also provides with some useful gadgets, such as command-line parser, libevent abstraction, etc. +Functionalities +--------------- + +- `ConnPool`: A byte level connection pool implementation, the `ConnPool::Conn` + (or `ConnPool::conn_t`) objects represent a connection to which one can + send/receive a binary stream of data asynchronously. + +- `MsgNetwork`: A message level network pool implementation, the + `MsgNetwork::Conn` (or `MsgNetwork::cont_t`) objects represent a channel to + which one can send/receive a predefined message. Message handler functions + are registered by `reg_handler()` and invoked upon receiving a new message. + `OpcodeType` is the type used for identifying message types. A vald message + type must have `opcode` value as its static member and `serialized` as a + member typed `DataStream` which contains the serialized data of the message. + +- `PeerNetwork`: A simple P2P network pool implementation. It will + ensure exactly one underlying bi-directional connection is established per + added peer, and retry the connection when it is broken. Ping-pong messages + are utilized to test the connectivity at the application layer. + +- `ClientNetwork`: A simple client-server network pool + implementation. A server who initialy calls `listen()` will accept the + incoming client messages, while a client simply calls `connect()` to connect + to a known server. + Dependencies ------------ -- cgit v1.2.3