By using the distributed algorithms well, you can take away the load of the servers and create applications with high real-time performance and so on. But there is little knowledge of distributed algorithms and we can not try it easily. The purpose of the majority of engineers is to realize their own service, and the use of algorithms is a means. It is interesting but not essence of work to think and implement difficult algorithms. The purpose of Colonio is to make it more versatile and to make it easy for everyone to use distributed algorithms that are easy to use.
- The status of this project is experimental.
- Please see website to get more information.
- libwebrtc is a depending library to use WebRTC on native environment.
// for linux using docker
$ make build
// for mac or for linux without docker
$ make setup
$ make build-native build-wasm
There is an output file below.
output/libcolonio.a
: static link library for C/C++output/lib/*
: depending shared library for C/C++output/colonio.*
: wasm library for JavaScript
$ make build WITH_TEST=ON
$ make build-seed
$ make test [CTEST_ARGS=--verbose]
Flags for build script are below.
option | values | default | description |
---|---|---|---|
BUILD_TYPE |
Release , Debug |
Release |
build type option used as CMAKE_BUILD_TYPE |
WITH_COVERAGE |
ON , OFF |
OFF |
output coverage when run test programs |
WITH_GPROF |
ON , OFF |
OFF |
enable build option for gprof |
WITH_SAMPLE |
ON , OFF |
OFF |
build sample programs |
WITH_TEST |
ON , OFF |
OFF |
build test programs |
$ g++ -I<path to colonio>/src \
-L<path to libcolonio> -L<path to colonio>/output \
-lcolonio -lwebrtc -lprotobuf -lpthread -lssl \
<your source code>
$ ./seed [flags] -config <config file>
Flag | Parameter type | Description |
---|---|---|
--config | string | Specify the configuration file. |
Apache License 2.0