Skip to main content

Module canonical

Module canonical 

Source

Modules§

effects
error
protect
Some reference names are protected and cannot be used with canonical references. This module contains checks for these cases.
rules
Implementation of RIP-0004 Canonical References
symbolic
Symbolic references, which link neither to nor from protected references. The prototypical example is HEAD → refs/heads/main.

Structs§

Canonical
Canonical captures the state for finding the quorum between a set of Dids and their references, attempting to agree on a Git commit or tag.
CanonicalWithConvergence
Similar to Canonical, however it checks that a new vote of a single Did converges with any other Did, to then see if that provides a different quorum result.
FoundObjects
The result of finding a set of objects in a Git repository.
GraphAheadBehind
The result of checking the relationship between two commits in the commit graph.
Initial
A marker for the initial state of Canonical, after construction using Canonical::new.
MatchedRule
A reference that has been matched against a ValidRule.
MergeBase
Record a merge base between a and b.
Missing
Missing marks whether there were any missing references or objects.
ObjectsFound
A marker for the state of Canonical once it has found objects for the calculation, using Canonical::find_objects.
Quorum
The result of finding a quorum.
QuorumWithConvergence
Similar to Quorum, but also reports whether the candidate converged with one of the other voters.
Rules
A set of valid Rules, where the set of DIDs and threshold are fully resolved and valid. Since the rules are constructed via a BTreeMap, they cannot be duplicated.

Enums§

Object
The supported type of Git object and its Oid, for canonical computation.
ObjectType
Supported Git object types for canonical computation

Type Aliases§

RawRule
A Rule that can be serialized and deserialized safely.
ValidRule
A Rule that has been validated. See Rules and Rules::matches for its main usage.