Skip to main content

RecordValidator

Struct RecordValidator 

Source
pub struct RecordValidator { /* private fields */ }
Expand description

Validates exactly one canonical record supplied in arbitrary fragments.

feed returns how many bytes it consumed. Once the record is complete it consumes nothing more, so bytes that follow the record stay with the caller. Errors are terminal: later input cannot turn the validator into a record.

Implementations§

Source§

impl RecordValidator

Source

pub fn new() -> Self

Source

pub fn feed(&mut self, input: &[u8]) -> Result<usize, RecordError>

Consume a prefix of input and return its length. Stops at the record’s end; the remaining input is not part of this record.

Source

pub fn canonical_len(&self) -> Option<usize>

The exact canonical length once the complete prefix has been read. It is not evidence that the data, hashes or Mark are valid.

Source

pub fn prefix(&self) -> &[u8] ⓘ

The canonical bytes before the Blob data received so far: the complete prefix once canonical_len is known.

Source

pub fn is_complete(&self) -> bool

Whether the record has been completely received and verified.

Source

pub fn finish(self) -> Result<ValidatedHeader, RecordError>

The verified header of a complete record.

Trait Implementations§

Source§

impl Debug for RecordValidator

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for RecordValidator

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.