17 stable releases
1.4.1 | Oct 10, 2022 |
---|---|
1.4.0 | Jan 4, 2022 |
1.2.0 | Dec 29, 2021 |
1.0.10 | Jun 14, 2021 |
1.0.4 | Jan 20, 2021 |
#4 in #leave
29 downloads per month
Used in 4 crates
(via brb)
39KB
824 lines
brb_membership
MaidSafe website | Safe Network Forum |
---|
About
This BRB Dynamic Membership module enables nodes to dynamically join and leave a BRB voting group.
Please see the brb crate.
Tests
Message Sequence Charts (MSC)
You will notice that after running cargo test
, A collection of .msc
files are generated..
These files show the progression of vote's as they are processed by the network. They can be rendered using the mscgen.
For example the test_round_robin_split_vote
test generates charts demonstrating how the network handles split votes from 1 through to 6 members, to render out a chart for the case where 2 members vote differently run:
cargo test # generates the *.msc files in the current directory.
mscgen -T png -i round_robin_split_vote_2.msc -o round_robin_split_vote_2.png
The rendered chart round_robin_split_vote_2.png
will look something like the following:
Note that although the lines between network members are perfectly horizontal, this does not mean that the vote was sent and received instantly. When a network member receives a vote, it responds immediately with it's votes (if any) but the simulated network queues up these votes and delivers them deterministically. The horizontal lines show when a vote was finally delivered to it's destination and who it was from.
License
This Safe Network library is licensed under the BSD-3-Clause license.
See the LICENSE file for more details.
Contributing
Want to contribute? Great 🎉
There are many ways to give back to the project, whether it be writing new code, fixing bugs, or just reporting errors. All forms of contributions are encouraged!
For instructions on how to contribute, see our Guide to contributing.
Dependencies
~6.5MB
~190K SLoC