pub struct GuardReceipt {
pub objects_requested: u64,
pub objects_hit: u64,
pub objects_scanned: u64,
pub objects_skipped: u64,
pub bytes_requested: u64,
pub bytes_hit: u64,
pub bytes_scanned: u64,
pub findings_count: u64,
pub coverage_gaps: u64,
pub terminal_state: GuardRootState,
pub policy_identity: GuardPolicyIdentity,
pub terminal_sequence: u64,
}Expand description
Terminal receipt for a guard commit transaction or background reconciliation. Carries exact byte and object totals so the client can validate conservation.
Fields§
§objects_requested: u64Number of objects requested in the transaction.
objects_hit: u64Number of objects served from the clean attestation cache (no payload read).
objects_scanned: u64Number of objects scanned.
objects_skipped: u64Number of objects skipped (deletions, symlinks, submodules).
bytes_requested: u64Total bytes requested.
bytes_hit: u64Total bytes served from cache.
bytes_scanned: u64Total bytes scanned.
findings_count: u64Number of unsuppressed findings (without secret values).
coverage_gaps: u64Number of coverage gaps.
terminal_state: GuardRootStateTerminal root state after the transaction.
policy_identity: GuardPolicyIdentityPolicy identity under which the receipt was produced.
terminal_sequence: u64Monotonically increasing event sequence at completion.
Implementations§
Source§impl GuardReceipt
impl GuardReceipt
Sourcepub fn validate_conservation(&self) -> Result<(), ReceiptError>
pub fn validate_conservation(&self) -> Result<(), ReceiptError>
Validate conservation of object count and bytes.
objects_requested == objects_hit + objects_scanned + objects_skipped
and bytes_requested == bytes_hit + bytes_scanned (skipped objects
contribute zero bytes).
Trait Implementations§
Source§impl Clone for GuardReceipt
impl Clone for GuardReceipt
Source§fn clone(&self) -> GuardReceipt
fn clone(&self) -> GuardReceipt
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GuardReceipt
impl Debug for GuardReceipt
Source§impl<'de> Deserialize<'de> for GuardReceipt
impl<'de> Deserialize<'de> for GuardReceipt
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>,
impl Eq for GuardReceipt
Source§impl PartialEq for GuardReceipt
impl PartialEq for GuardReceipt
Source§impl Serialize for GuardReceipt
impl Serialize for GuardReceipt
impl StructuralPartialEq for GuardReceipt
Auto Trait Implementations§
impl Freeze for GuardReceipt
impl RefUnwindSafe for GuardReceipt
impl Send for GuardReceipt
impl Sync for GuardReceipt
impl Unpin for GuardReceipt
impl UnsafeUnpin for GuardReceipt
impl UnwindSafe for GuardReceipt
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
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>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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