Crate consensus_core

Source

Re-exports§

pub use storage::mem_store::MemStore;

Modules§

storage

Macros§

bail
ensure

Structs§

AnemoConnectionMonitor
CertifiedBlock
A block certified by consensus for fast path execution.
CertifiedBlocksOutput
A batch of certified blocks output by consensus for processing.
Clock
A clock that allows to derive the current UNIX system timestamp while guaranteeing that timestamp will be monotonically incremented, tolerating ntp and system clock changes and corrections. Explicitly avoid to make [Clock] cloneable to ensure that a single instance is shared behind an [Arc] wherever is needed in order to make sure that consecutive calls to receive the system timestamp will remain monotonically increasing.
CommitConsumerArgs
Arguments from commit consumer to this consensus instance. This includes both parameters and components for communications.
CommitConsumerMonitor
Helps monitor the progress of the consensus commit handler (consumer).
CommitDigest
Digest of a consensus commit.
CommitFinalizer
CommitFinalizer accepts a continuous stream of CommittedSubDag and outputs them when they are finalized. In finalized commits, every transaction is either finalized or rejected. It runs in a separate thread, to reduce the load on the core thread.
CommitRange
CommitRange stores a range of CommitIndex. The range contains the start (inclusive) and end (inclusive) commit indices and can be ordered for use as the key of a table.
CommitRef
Uniquely identifies a commit with its index and digest.
CommittedSubDag
The output of consensus to execution is an ordered list of CommittedSubDag. Each CommittedSubDag contains the information needed to execution transactions in the consensus commit.
ConnectionMonitorHandle
Context
Context contains per-epoch configuration and metrics shared by all components of this authority.
DagBuilder
DagBuilder API
DagState
DagState provides the API to write and read accepted blocks from the DAG. Only uncommitted and last committed blocks are cached in memory. The rest of blocks are stored on disk. Refs to cached blocks and additional refs are cached as well, to speed up existence checks.
Linearizer
Expand a committed sequence of leader into a sequence of sub-dags.
Metrics
MetricsMakeCallbackHandler
NetworkRouteMetrics
QuinnConnectionMetrics
TestBlock
Exported API for testing and tools. Creates fake blocks for testing. This struct is public for testing in other crates.
Transaction
Exported API for testing and tools. Sui transaction in serialised bytes
TransactionCertifier
TransactionCertifier has the following purposes:
TransactionClient
VerifiedBlock
Exported API for testing and tools. VerifiedBlock allows full access to its content. Note: clone() is relatively cheap with most underlying data refcounted.

Enums§

BlockStatus
ClientError
ConnectionStatus
ConsensusAuthority
Exported Consensus API. ConsensusAuthority is used by Sui to manage the lifetime of AuthorityNode. It hides the details of the implementation from the caller, MysticetiManager.
ValidationError

Traits§

BlockAPI
CommitAPI
Accessors to Commit info.
TransactionVerifier
TransactionVerifier implementation is supplied by Sui to validate transactions in a block, before acceptance of the block.

Type Aliases§

CommitIndex
Index of a commit among all consensus commits.