[][src]Module splinter::consensus

The API that defines interactions between consensus and a Splinter service.

Re-exports

pub use error::ConsensusEngineError;
pub use error::ConsensusSendError;
pub use error::ProposalManagerError;

Modules

error
two_phase

A simple n-party, two-phase commit (2PC) consensus algorithm implemented as a ConsensusEngine. This is a bully algorithm where the coordinator for a proposal is determined as the node with the lowest ID in the set of verifiers. Only one proposal is considered at a time. A proposal manager can define its own set of required verifiers by setting this information in the consensus data.

Structs

ConsensusMessage
PeerId
Proposal
ProposalId
StartupState

Enums

ProposalUpdate

Messages the ProposalManager sends to consensus

Traits

ConsensusEngine

Consensus algorithms are implemented as consensus engines. The ConsensusEngine interface defines how consensus algorithms are identified (name, version, and supported protocols), as well as how they are run and what values are required for running.

ConsensusNetworkSender

Interface used by consensus to send messages to other nodes

ProposalManager

Interface used by consensus to create, check, accept, and reject proposals