Another broadcast library
C++ C Go CMake
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
build
dep
go/ab
include
src
test
.gitignore
.gitmodules
CMakeLists.txt
LICENSE
README.md
circle.yml

README.md

libab

Circle CI License

libab is a C library 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, OS X, and FreeBSD are supported at the moment. Builds may succeed with other BSDs, but they have not been verified.

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)