plumcast

Crates.ioplumcast
lib.rsplumcast
version0.1.5
sourcesrc
created_at2018-07-19 15:46:36.554432
updated_at2019-02-20 11:26:55.443678
descriptionA message broadcasting library based on the Plumtree/HyParView algorithms
homepagehttps://github.com/sile/plumcast
repositoryhttps://github.com/sile/plumcast
max_upload_size
id75070
size134,301
Takeru Ohta (sile)

documentation

README

plumcast

plumcast Documentation Build Status Code Coverage License: MIT

A message broadcasting library based on the Plumtree/HyParView algorithms.

Documentation

Properties

Pros

  • Nearly optimal message transmitting count
    • Usually messages are broadcasted via a spanning tree
    • Only the nodes interested in the same messages belong to the same cluster
  • Scalable
    • Theoretically, it can handle ten-thousand of nodes or more
  • High fault tolerance
    • Spanning trees are automatically repaired if there are crashed nodes
  • Dynamic membership
    • Nodes can be added to (removed from) a cluster at any time

Cons

  • No strong guarantee about connectivity of the nodes in a cluster
  • No strong guarantee about delivery count of a message
  • No guarantee about messages delivery order

If some of the above guarantees are mandatory for your application, it is need to be provided by upper layers.

References

Commit count: 62

cargo fmt