Struct tvix_castore::directoryservice::simple_putter::SimplePutter
source · pub struct SimplePutter<DS: DirectoryService> {
directory_service: DS,
directory_validator: Option<DirectoryGraph<LeavesToRootValidator>>,
}
Expand description
This is an implementation of DirectoryPutter that simply inserts individual Directory messages one by one, on close, after they successfully validated.
Fields§
§directory_service: DS
§directory_validator: Option<DirectoryGraph<LeavesToRootValidator>>
Implementations§
source§impl<DS: DirectoryService> SimplePutter<DS>
impl<DS: DirectoryService> SimplePutter<DS>
Trait Implementations§
source§impl<DS: DirectoryService + 'static> DirectoryPutter for SimplePutter<DS>
impl<DS: DirectoryService + 'static> DirectoryPutter for SimplePutter<DS>
source§fn put<'life0, 'async_trait>(
&'life0 mut self,
directory: Directory,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn put<'life0, 'async_trait>(
&'life0 mut self,
directory: Directory,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Put a individual Directory into the store.
Error semantics and behaviour is up to the specific implementation of
this trait.
Due to bursting, the returned error might refer to an object previously
sent via
put
.source§fn close<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<B3Digest, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<B3Digest, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Close the stream, and wait for any errors.
If there’s been any invalid Directory message uploaded, and error must
be returned.
Auto Trait Implementations§
impl<DS> Freeze for SimplePutter<DS>where
DS: Freeze,
impl<DS> RefUnwindSafe for SimplePutter<DS>where
DS: RefUnwindSafe,
impl<DS> Send for SimplePutter<DS>
impl<DS> Sync for SimplePutter<DS>
impl<DS> Unpin for SimplePutter<DS>where
DS: Unpin,
impl<DS> UnwindSafe for SimplePutter<DS>where
DS: UnwindSafe,
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> 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