ZeroEQ is a cross-platform C++ library for modern messaging. It provides pub-sub messaging using ZeroMQ and integrates REST APIs with JSON payload in C++ applications using an optional http::Server. ZeroEQ applications are linked using automatic discovery based on ZeroConf protocol or through explicit connection addressing using hostname and port. Applications can define a vocabulary for the published messages, provided by ZeroBuf or by implementing a simple Serializable interface.
ZeroEQ provides the following major features:
ZeroEQ is a cross-platform library, designed to run on any modern operating system, including all Unix variants. It requires a C++11 compiler and uses CMake to create a platform-specific build environment. The following platforms and build environments are tested:
ZeroEQ requires the following external, pre-installed dependencies:
Building from source is as simple as:
git clone --recursive https://github.com/HBPVIS/ZeroEQ.git
mkdir ZeroEQ/build
cd ZeroEQ/build
cmake -GNinja -DCLONE_SUBPROJECTS=ON ..
ninja
This work has been partially funded by the European Union Seventh Framework Program (FP7/20072013) under grant agreement no. 604102 (HBP).