minerva 0.2.0

Causal ordering for distributed systems
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::metis::Dot;

/// The rejected outcome of [`Dotted::try_new`](super::Dotted::try_new): the
/// store carries a dot the context does not cover, so the parts do not form an
/// honest pair and nothing was built.
///
/// The witness names the first such dot in ascending [`Dot`] order: the
/// material a caller needs to decide whether the parts were mis-assembled (a
/// delta built against the wrong context) or the foreign side is lying about
/// its past.
///
/// The witness is evidence about a *held* identity, never a refused raw
/// coordinate, so it carries a [`Dot`] rather than the parts (ruling R-91).
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct UncoveredDot {
    /// The first uncovered dot.
    pub dot: Dot,
}