This code is alpha status. The current implementations are not necessarily functional or correct.
Implementations of modules from Introduction to Reliable and Secure Distributed Programming.
- 2.1 Retransmit Forever
- 2.2 Eliminate Duplicates
- 2.3 Log Delivered
- 2.4 Authenticate and Filter
- 2.5 Exclude on Timeout
- 2.6 Monarchical Leader Election
- 2.7 Increasing Timeout
- 2.8 Monarchical Eventual Leader Detection
- 2.9 Elect Lower Epoch
- 2.10 Rotating Byzantine Leader Detection
- 2.11 Sequence Number
- 3.1 Basic Broadcast
- 3.2 Lazy Reliable Broadcast
- 3.3 Eager Reliable Broadcast
- 3.4 All-Ack Uniform Reliable Broadcast
- 3.5 Majority-Ack Uniform Reliable Broadcast
- 3.6 Basic Stubborn Broadcast
- 3.7 Logged Basic Broadcast
- 3.8 Logged Majority-Ack Uniform Reliable Broadcast
- 3.9 Eager Probabilistic Broadcast
- 3.10 Lazy Probabilistic Broadcast (part 1, data dissemination)
- 3.11 Lazy Probabilistic Broadcast (part2, recovery)
- 3.12 Broadcast with Sequence Number
- 3.13 No-Waiting Causal Broadcast
- 3.14 Garbage-Collection of Causal Past (extends Algorithm 3.13)
- 3.15 Waiting Causal Broadcast
- 3.16 Authenticated Echo Broadcast
- 3.17 Signed Echo Broadcast
- 3.18 Authenticated Double-Echo Broadcast
- 3.19 Byzantine Consistent Channel
- 3.20 Byzantine Reliable Channel
- 3.21 Simple Optimization of Lazy Reliable Broadcast
- 3.22 Ideal Uniform Reliable Broadcast
- 3.23 Logged Eager Reliable Broadcast
- 3.24 No-Waiting Causal Broadcast using FIFO Broadcast