#[non_exhaustive]pub struct SummaryDocument {
pub document_json: Vec<u8>,
pub version: u64,
pub patch_kind: PatchKind,
pub last_updated_ms: u64,
pub first_applied_ms: u64,
}Expand description
Materialised rolling summary document returned by a summary-read call (RFC-015 §6.3).
document is the caller-owned JSON value; scalar leaves that the
caller wrote through the SUMMARY_NULL_SENTINEL contract appear
here as JSON null (not as the sentinel string — the round-trip
invariant erases the sentinel on read).
#[non_exhaustive] keeps future additive fields (e.g. a compacted
delta cursor, a schema-version tag) additive. Construct via
Self::new.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.document_json: Vec<u8>The rolling summary as JSON bytes (UTF-8, encoded by the
server-side applier after merge). Stored as Vec<u8> instead
of serde_json::Value to keep ff_core::backend free of a
public serde_json type dependency.
version: u64Monotonic version bumped on every delta applied. 0 is never
observed — the first applied delta returns 1.
patch_kind: PatchKindWhich PatchKind was used to build the document.
last_updated_ms: u64Unix millis of the most recent delta application.
first_applied_ms: u64Unix millis of the first delta applied to this attempt.
Implementations§
Trait Implementations§
Source§impl Clone for SummaryDocument
impl Clone for SummaryDocument
Source§fn clone(&self) -> SummaryDocument
fn clone(&self) -> SummaryDocument
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more