pub enum AuditResponse {
Digests {
challenge_id: u64,
digests: Vec<[u8; 32]>,
},
Bootstrapping {
challenge_id: u64,
},
Rejected {
challenge_id: u64,
reason: String,
},
}Expand description
Response to audit challenge.
Variants§
Digests
Per-key digests proving storage.
digests[i] corresponds to challenge.keys[i].
An ABSENT_KEY_DIGEST sentinel signals key absence.
Fields
Bootstrapping
Peer is still bootstrapping (not ready for audit).
Rejected
Challenge rejected (wrong target peer or too many keys).
Distinct from empty Digests so the challenger can distinguish a
legitimate rejection from misbehavior.
Trait Implementations§
Source§impl Clone for AuditResponse
impl Clone for AuditResponse
Source§fn clone(&self) -> AuditResponse
fn clone(&self) -> AuditResponse
Returns a duplicate of the value. Read more
1.0.0 · 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 AuditResponse
impl Debug for AuditResponse
Source§impl<'de> Deserialize<'de> for AuditResponse
impl<'de> Deserialize<'de> for AuditResponse
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 AuditResponse
impl RefUnwindSafe for AuditResponse
impl Send for AuditResponse
impl Sync for AuditResponse
impl Unpin for AuditResponse
impl UnsafeUnpin for AuditResponse
impl UnwindSafe for AuditResponse
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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