Module solana_core::crds[][src]

This module implements Cluster Replicated Data Store for asynchronous updates in a distributed network.

Data is stored in the CrdsValue type, each type has a specific CrdsValueLabel. Labels are semantically grouped into a single record that is identified by a Pubkey.

The actual data is stored in a single map of CrdsValueLabel(Pubkey) -> CrdsValue This allows for partial record updates to be propagated through the network.

This means that full Record updates are not atomic.

Additional labels can be added by appending them to the CrdsValueLabel, CrdsValue enums.

Merge strategy is implemented in: impl PartialOrd for VersionedCrdsValue

A value is updated to a new version if the labels match, and the value wallclock is later, or the value hash is greater.

Structs

Crds
VersionedCrdsValue

This structure stores some local metadata associated with the CrdsValue The implementation of PartialOrd ensures that the “highest” version is always picked to be stored in the Crds

Enums

CrdsError