colonio

module
v0.0.0-...-8abf890 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2024 License: Apache-2.0

README

Codacy Badge CI Coverage Status

Colonio : Library let it easy to use distributed systems

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.

More information

  • 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.

How to build the node library

Build for C/C++ and JavaScript (WebAssembly)
// 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
Run test
$ 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

How to build a C/C++ program using colonio

$ g++ -I<path to colonio>/src \
-L<path to libcolonio> -L<path to colonio>/output \
-lcolonio -lwebrtc -lprotobuf -lpthread -lssl \
<your source code>
Seed usage
$ ./seed [flags] -config <config file>
Flag Parameter type Description
--config string Specify the configuration file.

License

Apache License 2.0

Directories

Path Synopsis
go
seed
* Copyright 2019-2021 Yuji Ito <llamerada.jp@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019-2021 Yuji Ito <llamerada.jp@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
service
* Copyright 2019-2021 Yuji Ito <llamerada.jp@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2019-2021 Yuji Ito <llamerada.jp@gmail.com> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL