Dean Eigenmann 748b61123f feature/mdf (#76)
* protobuf

* do not send ack when not required

* remove from state if no ack required

* different send modes

* fix

* updated

* retransmit fix

* updated

* fixed

* renamed to ephemeral

* repeated

* gen

* resolution

* cleanup

* rough dependency code

* todo

* removed

* only stores if ephemeral

* started implementing the algo

* simplified

* updated

* we never store ephemeral messages so we did not need

* adds parents

* new schema

* tx to insert

* err

* removed old

* fixed

* changed log

* test persistence of parents

* removed

* rename

* ignoring

* Update store/messagestore_sqlite.go

Co-Authored-By: Adam Babik <adam@status.im>

* Update node/node.go

Co-Authored-By: Adam Babik <adam@status.im>

* Update node/node.go

Co-Authored-By: Adam Babik <adam@status.im>

* Update node/node.go

Co-Authored-By: Adam Babik <adam@status.im>

* more fixes

* Update store/messagestore_sqlite.go

Co-Authored-By: Adam Babik <adam@status.im>

* more fixes

* using refs

* Update node/node.go

Co-Authored-By: Adam Babik <adam@status.im>

* finished

* Update store/messagestore_sqlite.go

Co-Authored-By: Adam Babik <adam@status.im>

* Update 1572372377_initial_schema.down.sql

* desc + refactor

* started refactoring resolution

* Update README.md

* rewrote resolve

* mutex

* todo

* fixes

* sql impl

* added test

* log

* updates

* updated

* little bug

* fix

* added test

* first changes from @adambabik

* moved

* fixed test, started eventual ones

* fixed eventually test

* mock install

* consistent test

* mock

* fix lint

* Update dependency/tracker_sqlite.go

Co-Authored-By: Adam Babik <adam@status.im>

* fix
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00
2019-10-14 12:54:02 +02:00
2019-10-30 13:16:20 +01:00
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00
2019-11-05 13:34:53 +08:00
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00
2019-11-05 17:32:23 +01:00

Minimal Viable Data Sync

Version MIT License API Reference Go Report Card Build Status

Experimental implementation of the minimal viable data sync protocol specification including the metadata format specification.

Usage

Listening to MVDS messages is fairly simple:

sub := node.Subscribe()

for {
    msg := <-sub
    print(msg)
}

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

Description
No description provided
Readme MIT 4.6 MiB
Latest
2019-11-05 11:54:20 -05:00
Languages
Go 98.4%
Makefile 1.6%