pub struct Sidecar {
pub kind: String,
pub version: u16,
pub run: RunId,
pub last_seq: u64,
pub last_hash: Digest,
pub open: bool,
pub content: Vec<u8>,
pub signature: Option<KeySignature>,
}Expand description
One grader verdict and the prefix of one run it is bound to.
Fields§
§kind: StringAlways KIND.
version: u16Always FORMAT_VERSION.
run: RunIdThe run the verdict is about.
last_seq: u64The last record of the bound prefix.
last_hash: DigestThe chain hash of the record at last_seq.
open: boolfalse claims the run was sealed with last_seq as its last record.
content: Vec<u8>The verdict, as bytes this crate never interprets.
signature: Option<KeySignature>The grader’s signature over Sidecar::signing_digest.
Implementations§
Source§impl Sidecar
impl Sidecar
Sourcepub fn parse(bytes: &[u8]) -> Result<Self, String>
pub fn parse(bytes: &[u8]) -> Result<Self, String>
Read a sidecar, refusing another kind, another version or a member this format does not define.
§Errors
A sentence naming what is wrong with the file.
Sourcepub fn signing_digest(&self) -> Digest
pub fn signing_digest(&self) -> Digest
What a grader signs: the canonical bytes of the sidecar without its
signature, under DOMAIN_GRADER_VERDICT.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Sidecar
impl<'de> Deserialize<'de> for Sidecar
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
impl Eq for Sidecar
impl StructuralPartialEq for Sidecar
Auto Trait Implementations§
impl Freeze for Sidecar
impl RefUnwindSafe for Sidecar
impl Send for Sidecar
impl Sync for Sidecar
impl Unpin for Sidecar
impl UnsafeUnpin for Sidecar
impl UnwindSafe for Sidecar
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>,
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
Compare self to
key and return true if they are equal.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 moreCreates a shared type from an unshared type.