Skip to content
/ plumcast Public

A message broadcasting library based on the Plumtree/HyParView algorithms

License

Notifications You must be signed in to change notification settings

sile/plumcast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

640bfb0 · Oct 23, 2021

History

62 Commits
Oct 23, 2021
Jan 28, 2019
Oct 23, 2021
Jul 14, 2018
Oct 23, 2021
Jul 19, 2018
Oct 23, 2021

Repository files navigation

plumcast

plumcast Documentation Actions Status Coverage Status 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

About

A message broadcasting library based on the Plumtree/HyParView algorithms

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages