Skip to main content

IcSnapshotReply

Struct IcSnapshotReply 

Source
pub struct IcSnapshotReply<'request> { /* private fields */ }
Expand description

Read-only decoded reply associated with the caller’s exact request.

Capture has one entry; inventory has 0..=1,024 unique entries in raw-ID order. The wire contains no network, caller or target, so this association and digest do not authenticate response origin, freshness, permissions or execution. No Serde admission, completion receipt, reservation or settlement is provided.

Implementations§

Source§

impl<'request> IcSnapshotReply<'request>

Source

pub fn decode( request: &'request IcManagementRequestRecord, bytes: &[u8], ) -> Result<Self, IcSnapshotReplyError>

Decode the pinned capture or inventory result under finite local bounds.

Exactly one Candid argument with the required snapshot fields is admitted. Extra arguments, skipped fields, trailing bytes and duplicate IDs reject. The integration must independently qualify the transport/request association.

§Errors

Returns typed unsupported-method, raw-size, invalid-reply or duplicate-ID failures. No journal or caller-owned state changes on any outcome.

Source

pub const fn request(&self) -> &'request IcManagementRequestRecord

Read the original request; its owner supplies exact target/method/byte identity.

Source

pub fn snapshots(&self) -> &[IcSnapshotInfo]

Read the capture singleton or canonical inventory without mutation access.

Source

pub const fn payload_checksum(&self) -> &ArtifactChecksumRecord

Read the SHA-256 checksum of the exact raw reply, including its wire ordering.

Source

pub fn digest(&self) -> ArtifactChecksumRecord

Hash the exact request digest and raw-reply checksum in a separate v1 domain.

Two fixed 64-byte lowercase SHA-256 strings follow the domain. A canonical inventory view does not erase raw wire differences or request identity. This is local evidence identity, not an authenticated IC receipt.

Trait Implementations§

Source§

impl<'request> Debug for IcSnapshotReply<'request>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'request> Freeze for IcSnapshotReply<'request>

§

impl<'request> RefUnwindSafe for IcSnapshotReply<'request>

§

impl<'request> Send for IcSnapshotReply<'request>

§

impl<'request> Sync for IcSnapshotReply<'request>

§

impl<'request> Unpin for IcSnapshotReply<'request>

§

impl<'request> UnsafeUnpin for IcSnapshotReply<'request>

§

impl<'request> UnwindSafe for IcSnapshotReply<'request>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.