mirror of
https://github.com/vacp2p/mvds.git
synced 2026-01-08 19:48:03 -05:00
9e1addbac085a2b9fcac0bd63c9c99b10db6571b
This commits changes the behavior so that we don't rely on the presence of GroupID in the payload. Adds some tests to verify the basic functionalities of BATCH and INTERACTIVE mode, but more are required to ensure the correct functioning. Error handling and state management is probably also to be inspected more carefully.
Minimal Viable Data Sync
Experimental implementation of the minimal viable data sync protocol specification.
Usage
Prerequisites
Ensure you have protoc (Protobuf) and Golang installed. Then run make.
Simulation
In order to run a very naive simulation, use the simulation command. The simulation is configurable using various CLI flags.
Usage of main.go:
-communicating int
amount of nodes sending messages (default 2)
-interactive int
amount of nodes to use INTERACTIVE mode, the rest will be BATCH (default 3)
-interval int
seconds between messages (default 5)
-nodes int
amount of nodes (default 3)
-offline int
percentage of time a node is offline (default 90)
-sharing int
amount of nodes each node shares with (default 2)
License
This project is licensed under the MIT License - see the LICENSE file for details
Releases
22
Languages
Go
98.4%
Makefile
1.6%