type MajorityConfig … func (c MajorityConfig) String() string { … } // Describe returns a (multi-line) representation of the commit indexes for the // given lookuper. func (c MajorityConfig) Describe(l AckedIndexer) string { … } // Slice returns the MajorityConfig as a sorted slice. func (c MajorityConfig) Slice() []uint64 { … } func insertionSort(sl []uint64) { … } // CommittedIndex computes the committed index from those supplied via the // provided AckedIndexer (for the active config). func (c MajorityConfig) CommittedIndex(l AckedIndexer) Index { … } // VoteResult takes a mapping of voters to yes/no (true/false) votes and returns // a result indicating whether the vote is pending (i.e. neither a quorum of // yes/no has been reached), won (a quorum of yes has been reached), or lost (a // quorum of no has been reached). func (c MajorityConfig) VoteResult(votes map[uint64]bool) VoteResult { … }