/is-cpp

Collection of utility functions for the C++ version of the IS architecture

Primary LanguagePythonMIT LicenseMIT

is-cpp

Collection of utility functions for the C++ version of the IS architecture. The messaging layer is implemented using the AMQP protocol version 0.9.1. AMQP is a binary, application layer protocol, designed to efficiently support a wide variety of messaging applications and communication patterns [1]. The 0.9.1 version requires a broker to connect message consumers and publishers. To better understand the communication model see [2]. Messages payload are serialized using the protobuf binary format. Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data [3]. For more details on how to define a message schema and use it see [4].

Dependencies

Network / Serialization:

Logging / Metrics / Tracing:

Computer Vision / Multimedia / Algebra:

A installation script is provided to easily install all the dependencies on the linux platform. Just run the command below: (Tested only on Ubuntu versions 14.04 and 16.04).

$ curl -fsSL https://raw.githubusercontent.com/labviros/is-cpp/master/install | bash

As explained, AMQP 0.9.1 requires a broker to route messages between clients. We recommend using RabbitMQ. The broker can be easily instantiated with Docker with the following command:

$ docker run -d -m 512M -p 15672:15672 -p 5672:5672 viros/is-rabbitmq:3

Using the library

Examples describing how to use the library are provided in the examples folder.