pub type Pvalues<C> = BTreeMap<Slot, (Ballot, C)>;Expand description
The pvalues held for a set of slots: one per slot, the one carrying the highest ballot.
The book writes a set and unions into it, and this module first held one — a BTreeMap keyed by
⟨ballot, slot⟩, which made Invariant A4 the map’s own property. §4.1 is why it no longer does;
see MultiPaxosSynod::accepted. A4 is unaffected, because it was never the acceptor’s to
enforce: Invariant C1 — at most one commander per ⟨ballot, slot⟩ — is what gives it, and the
leader is what holds C1. What the old key bought was a second, redundant enforcement at the
acceptor; what it cost was a whole dimension of growth.
Aliased Type§
pub struct Pvalues<C> { /* private fields */ }