Struct tvix_castore::directoryservice::sled::SledDirectoryPutter
source · pub struct SledDirectoryPutter {
tree: Tree,
directory_validator: Option<DirectoryGraph<LeavesToRootValidator>>,
}
Expand description
Buffers Directory messages to be uploaded and inserts them in a batch transaction on close.
Fields§
§tree: Tree
§directory_validator: Option<DirectoryGraph<LeavesToRootValidator>>
The directories (inside the directory validator) that we insert later, or None, if they were already inserted.
Trait Implementations§
source§impl DirectoryPutter for SledDirectoryPutter
impl DirectoryPutter for SledDirectoryPutter
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 Freeze for SledDirectoryPutter
impl !RefUnwindSafe for SledDirectoryPutter
impl Send for SledDirectoryPutter
impl Sync for SledDirectoryPutter
impl Unpin for SledDirectoryPutter
impl !UnwindSafe for SledDirectoryPutter
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> 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