pub enum MirrorBondStatesUnknownReason {
ServedSetUnknown,
ChainUnreadable,
InFlightUnknown,
ProvenanceUnknown,
}Expand description
Why a node cannot state its bond states AT ALL.
The “cannot tell” axis, and it is deliberately separate from every per-bond state, all of which
are DEFINITE statements. A fact the node could not read makes the WHOLE answer
MirrorBondStatesResult::Unknown rather than degrading individual rows: a partial list is
indistinguishable from a complete one, and the rows a broken read would drop are exactly the
bonds nobody is then watching.
The epoch requirement being unknown is NOT a member — that is a definite per-bond state
(MirrorBondState::Deferred) and the node can still answer.
Variants§
ServedSetUnknown
The node cannot enumerate the (store, root) pairs it holds, so it does not know which
bonds exist to have a state. Nothing may be substituted: the census stores figure counts
network-wide advertisements and is not this node’s set.
ChainUnreadable
The node cannot read mirror coins from chain, so it cannot tell a bonded pair from an
unfunded one. Answering unfunded here would be a fabricated shortfall.
InFlightUnknown
The node cannot read its own in-flight creates, so it cannot tell
Pending from Unfunded — a
submitted create and no create at all look identical from chain alone during the gap.
ProvenanceUnknown
The node can enumerate the (store, root) pairs it holds, but cannot determine their
PROVENANCE, so it cannot tell a Relayed capsule apart from one that is simply absent.
The one non-infrastructure reason, and it exists because the alternative is a lie. A
derivation keyed on the desired-bond (Held) set enumerates perfectly well and yet can
never emit Withheld, because a Relayed capsule is by
construction absent from that set. Without this reason its only conforming-LOOKING answer
is a known page with complete: true and every withheld row silently missing — the exact
“no such row where the contract promises withheld on purpose” failure, wearing the shape of
a complete answer. This reason is how such a node says so instead.
Implementations§
Trait Implementations§
Source§impl Clone for MirrorBondStatesUnknownReason
impl Clone for MirrorBondStatesUnknownReason
Source§fn clone(&self) -> MirrorBondStatesUnknownReason
fn clone(&self) -> MirrorBondStatesUnknownReason
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more