pub struct LeavesToRootValidator {
allowed_references: HashSet<B3Digest>,
}
Expand description
Validates that newly uploaded directories only reference directories which have already been introduced. Commonly used when uploading a directory closure to a store.
Fields§
§allowed_references: HashSet<B3Digest>
This is empty in the beginning, and gets filled as leaves and intermediates are inserted
Trait Implementations§
source§impl Default for LeavesToRootValidator
impl Default for LeavesToRootValidator
source§fn default() -> LeavesToRootValidator
fn default() -> LeavesToRootValidator
Returns the “default value” for a type. Read more
source§impl OrderValidator for LeavesToRootValidator
impl OrderValidator for LeavesToRootValidator
source§fn add_directory(&mut self, directory: &Directory) -> bool
fn add_directory(&mut self, directory: &Directory) -> bool
Update the order validator’s state with the directory
Returns whether the directory was accepted
Auto Trait Implementations§
impl Freeze for LeavesToRootValidator
impl RefUnwindSafe for LeavesToRootValidator
impl Send for LeavesToRootValidator
impl Sync for LeavesToRootValidator
impl Unpin for LeavesToRootValidator
impl UnwindSafe for LeavesToRootValidator
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> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request