pub struct ChainCheck {
pub timestamp: String,
pub composed_anchor: i64,
pub folded_anchor: i64,
pub composed_concepts: usize,
pub folded_concepts: usize,
pub composed_edges: usize,
pub folded_edges: usize,
pub concept_disagreements: Vec<String>,
pub edge_disagreements: Vec<String>,
pub truncated: bool,
}Expand description
The result of a verify_snapshot_chain cross-check.
Carries the disagreements rather than a bool, because “the chain diverged” is
not actionable and “these three concepts differ, and this edge is present in
one and not the other” is. Bounded — see ChainCheck::SAMPLE_LIMIT — since
a chain that went wrong early can disagree about every row, and a report that
is the size of the database is one nobody reads.
Fields§
§timestamp: String§composed_anchor: i64seq_anchor of the composed answer and of the genesis fold. These
may legitimately differ: the composed answer anchors at the snapshot
it started from plus its delta, and the fold anchors at the newest row it
saw. Reported for diagnosis, never compared.
folded_anchor: i64§composed_concepts: usize§folded_concepts: usize§composed_edges: usize§folded_edges: usize§concept_disagreements: Vec<String>Concept ids present in one and not the other, or whose attributes differ.
edge_disagreements: Vec<String>Edge keys present in one and not the other.
truncated: boolTrue when either list was truncated at ChainCheck::SAMPLE_LIMIT.
Implementations§
Source§impl ChainCheck
impl ChainCheck
Trait Implementations§
Source§impl Clone for ChainCheck
impl Clone for ChainCheck
Source§fn clone(&self) -> ChainCheck
fn clone(&self) -> ChainCheck
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ChainCheck
impl Debug for ChainCheck
Auto Trait Implementations§
impl Freeze for ChainCheck
impl RefUnwindSafe for ChainCheck
impl Send for ChainCheck
impl Sync for ChainCheck
impl Unpin for ChainCheck
impl UnsafeUnpin for ChainCheck
impl UnwindSafe for ChainCheck
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request