pub struct NodeSnapshot {
pub incarnation: u64,
pub config: NodeConfigSnapshot,
pub graphs: Vec<NamedGraphSnapshot>,
pub components: Vec<NamedComponentSnapshot>,
pub transient: TransientSnapshot,
}Expand description
Top-level snapshot per ENGINE.md §15.1.
Fields§
§incarnation: u64Monotonically bumped on every Node::restore. Used by hosts
to detect “is this the same Node since N seconds ago?”.
config: NodeConfigSnapshotThe NodeConfig captured at snapshot time. NodeConfig must match exactly at restore time.
graphs: Vec<NamedGraphSnapshot>Installed graphs (post-analysis FunctionProto bytes).
components: Vec<NamedComponentSnapshot>Per-component serialized state.
transient: TransientSnapshotIn-flight transient state (frontier, slot_table, …).
Implementations§
Source§impl NodeSnapshot
impl NodeSnapshot
Trait Implementations§
Source§impl Clone for NodeSnapshot
impl Clone for NodeSnapshot
Source§fn clone(&self) -> NodeSnapshot
fn clone(&self) -> NodeSnapshot
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NodeSnapshot
impl Debug for NodeSnapshot
Source§impl<'de> Deserialize<'de> for NodeSnapshot
impl<'de> Deserialize<'de> for NodeSnapshot
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for NodeSnapshot
impl RefUnwindSafe for NodeSnapshot
impl Send for NodeSnapshot
impl Sync for NodeSnapshot
impl Unpin for NodeSnapshot
impl UnsafeUnpin for NodeSnapshot
impl UnwindSafe for NodeSnapshot
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedComponent for T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> SlotValue for T
impl<T> SlotValue for T
Source§fn into_any_boxed(self: Box<T>) -> Box<dyn Any + Sync + Send>
fn into_any_boxed(self: Box<T>) -> Box<dyn Any + Sync + Send>
Repackage
Box<dyn SlotValue> as Box<dyn Any> for
Box::downcast. Required because the SlotValue and
Any vtables are distinct even though SlotValue: Any.Source§fn clone_boxed(&self) -> Box<dyn SlotValue>
fn clone_boxed(&self) -> Box<dyn SlotValue>
Polymorphic clone preserving the concrete type.
Source§fn to_wire_bytes(&self) -> Result<Vec<u8>, SlotValueError>
fn to_wire_bytes(&self) -> Result<Vec<u8>, SlotValueError>
Wire-boundary encode (bincode + serde). Local forwarding
uses
clone_boxed instead.Source§fn type_hash(&self) -> u64
fn type_hash(&self) -> u64
Stable cross-Node type discriminator. FNV-1a of
std::any::type_name::<T>(); receiver decodes only on a
matching hash.Source§fn runtime_type(&self) -> &'static TypeNode
fn runtime_type(&self) -> &'static TypeNode
Source§fn charged_bytes(&self) -> usize
fn charged_bytes(&self) -> usize
Bytes the carrier owes against
NodeConfig::ingress_byte_budget. Slot-table eviction calls
this to release the charge. Default 0 — only
ingress-derived carriers register a non-zero resolver via
[register_charged_bytes!].