Trait engula_kernel::Kernel [−][src]
pub trait Kernel: Clone + Send + Sync + 'static {
type Stream: Stream;
type Bucket: Bucket;
fn stream<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Self::Stream>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn bucket<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Self::Bucket>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn apply_update<'life0, 'async_trait>(
&'life0 self,
update: KernelUpdate
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn current_version<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Arc<Version>>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn version_updates<'life0, 'async_trait>(
&'life0 self,
sequence: Sequence
) -> Pin<Box<dyn Future<Output = ResultStream<Arc<VersionUpdate>>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
}Expand description
An interface to interact with a kernel.
Associated Types
Required methods
Returns a journal stream.
Returns a storage bucket.
fn apply_update<'life0, 'async_trait>(
&'life0 self,
update: KernelUpdate
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn apply_update<'life0, 'async_trait>(
&'life0 self,
update: KernelUpdate
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Applies a kernel update.
Returns the current version.
fn version_updates<'life0, 'async_trait>(
&'life0 self,
sequence: Sequence
) -> Pin<Box<dyn Future<Output = ResultStream<Arc<VersionUpdate>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn version_updates<'life0, 'async_trait>(
&'life0 self,
sequence: Sequence
) -> Pin<Box<dyn Future<Output = ResultStream<Arc<VersionUpdate>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Returns a stream of version updates since a given sequence (inclusive).
