Skip to content

Microservice to relay Envelopes from one OD4Session to another OD4Session

License

Notifications You must be signed in to change notification settings

chrberger/cluon-relay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Microservice to relay Envelopes from one OD4Session to another one

This repository provides source code for a microservice to relay Envelopes from one OD4Session to another OD4Session.

License: GPLv3 build release

Table of Contents

Dependencies

You need a C++14-compliant compiler to compile this project.

The following dependency is part of the source distribution:

Usage

To run this microservice using docker-compose, you can simply add the following section to your docker-compose.yml to relay only envelopes 12 and 13 from CID 109 to CID 111:

version: '2' # Must be present exactly once at the beginning of the docker-compose.yml file
services:    # Must be present exactly once at the beginning of the docker-compose.yml file
    relay-envelopes:
        image: ghcr.io/chrberger/cluon-relay:latest
        restart: always
        network_mode: "host"
        command: "--cid-from=109 --cid-to=111 --keep=12,13"

Command for commandline to display the resulting image after operations:

docker run --rm -ti --init --net=host ghcr.io/chrberger/cluon-relay:latest --cid-from=109 --cid-to=111 --keep=12,13

The parameters to the application are:

  • --cid-from: relay Envelopes originating from this CID
  • --cid-to: relay Envelopes to this CID (must be different from source)
  • --keep: list of Envelope IDs to keep; example: --keep=19,25
  • --drop: list of Envelope IDs to drop; example: --drop=17,35
  • --downsampling: list of Envelope IDs to downsample; example: --downsample=12:2,31:10 keep every second of 12 and every tenth of 31

Build from sources on the example of Ubuntu 16.04 LTS

To build this software, you need cmake, C++14 or newer, libyuv, libvpx, and make. Having these preconditions, just run cmake and make as follows:

mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release ..
make && make test && make install

License

  • This project is released under the terms of the GNU GPLv3 License