1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use crate::{
NodeRelationProjection, TraceBodyDelivery, TraceCompactSummary, TraceExpansionPlan,
TraceExpansionRefusal, TraceProofObject, TraceSearchStop,
};
/// Completeness of the fetched declared proof, never semantic answer sufficiency.
/// Objects and support rows are shared tables, not repeated inside each route.
#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct TraceProofResult {
pub objects: Vec<TraceProofObject>,
pub supports: Vec<NodeRelationProjection>,
pub missing_refs: Vec<String>,
/// Refs whose body the store does not hold. Absent evidence only: a body
/// this response withheld is never listed here.
pub missing_bodies: Vec<String>,
pub incomplete_entries: Vec<String>,
pub clock_unknown_entries: Vec<String>,
pub complete_groups: Vec<u32>,
pub incomplete_groups: Vec<u32>,
pub stop: Option<TraceSearchStop>,
/// Canonical UTF-8 body bytes actually loaded, once per unique object.
/// Not wire bytes, and never a body this response chose not to read.
pub body_bytes: u64,
/// Identity of the selected proof table, computed before any body was
/// read. `None` on the legacy unbounded read.
pub manifest_id: Option<String>,
/// How the bodies of this selection were delivered. `None` on the legacy
/// unbounded read, where every present body is loaded.
pub delivery: Option<TraceBodyDelivery>,
/// Present only when the read asked for a compact presentation.
pub compact: Option<TraceCompactSummary>,
/// What to ask for next, decided over the whole selection before any
/// pagination. `None` when nothing the store holds is still withheld.
pub expansion_plan: Option<TraceExpansionPlan>,
/// Set when a named expansion was refused. Objects, supports and every
/// text are empty: nothing is joined across two different selections and
/// nothing is delivered for a partly invalid batch.
pub refusal: Option<TraceExpansionRefusal>,
}