#[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 moreSource§impl Debug for SummaryDocument
impl Debug for SummaryDocument
Source§impl PartialEq for SummaryDocument
impl PartialEq for SummaryDocument
impl Eq for SummaryDocument
impl StructuralPartialEq for SummaryDocument
Auto Trait Implementations§
impl Freeze for SummaryDocument
impl RefUnwindSafe for SummaryDocument
impl Send for SummaryDocument
impl Sync for SummaryDocument
impl Unpin for SummaryDocument
impl UnsafeUnpin for SummaryDocument
impl UnwindSafe for SummaryDocument
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more