Another broadcast library
Clone or download
Latest commit cc96f4f Apr 25, 2018

README.md

libab

Circle CI License

libab is a C library (implemented in C++) to broadcast messages to a cluster of nodes. libab also provides powerful properties for broadcasted messages:

  1. Each successfully broadcasted message is guaranteed to be delivered to a majority of the nodes.
  2. Broadcasted messages are fully serialized through an elected leader.

Traffic is sent over TCP with transparent reconnections.

Encryption is also supported and is implemented using tweetnacl with a shared key (provided by the user).

Dependencies and Building

Linux, macOS, and FreeBSD are supported at the moment. Builds may succeed with other BSDs, but they have not been verified.

Requirements

All platforms

  • Submodules
    • git submodule update --init --recursive
  • CMake 3.0 or higher
  • A compiler that supports C++14

Continue to Building.

Building

cd build
cmake ..
make
sudo make install # Optional

License

BSD (see LICENSE)