Trait tvix_store::composition::ServiceBuilder

source ·
pub trait ServiceBuilder: Send + Sync {
    type Output: ?Sized;

    // Required method
    fn build<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        instance_name: &'life1 str,
        context: &'life2 CompositionContext<'_>,
    ) -> Pin<Box<dyn Future<Output = Result<Arc<Self::Output>, Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             Self: 'async_trait;
}
Expand description

This is the trait usually implemented on a per-store-type Config struct and used to instantiate it.

Required Associated Types§

Required Methods§

source

fn build<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, instance_name: &'life1 str, context: &'life2 CompositionContext<'_>, ) -> Pin<Box<dyn Future<Output = Result<Arc<Self::Output>, Box<dyn Error + Send + Sync>>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Self: 'async_trait,

Trait Implementations§

source§

impl<T, S> From<S> for Box<dyn ServiceBuilder<Output = T>>
where S: ServiceBuilder<Output = T> + 'static, T: ?Sized,

source§

fn from(t: S) -> Box<dyn ServiceBuilder<Output = T>>

Converts to this type from the input type.

Implementors§

source§

impl ServiceBuilder for CombinedBlobServiceConfig

source§

impl ServiceBuilder for GRPCBlobServiceConfig

source§

impl ServiceBuilder for MemoryBlobServiceConfig

source§

impl ServiceBuilder for ObjectStoreBlobServiceConfig

source§

impl ServiceBuilder for tvix_castore::directoryservice::bigtable::BigtableParameters

source§

impl ServiceBuilder for tvix_castore::directoryservice::combinators::CacheConfig

source§

impl ServiceBuilder for GRPCDirectoryServiceConfig

source§

impl ServiceBuilder for MemoryDirectoryServiceConfig

source§

impl ServiceBuilder for ObjectStoreDirectoryServiceConfig

source§

impl ServiceBuilder for RedbDirectoryServiceConfig

source§

impl ServiceBuilder for tvix_store::pathinfoservice::bigtable::BigtableParameters

source§

impl ServiceBuilder for tvix_store::pathinfoservice::combinators::CacheConfig

source§

impl ServiceBuilder for GRPCPathInfoServiceConfig

source§

impl ServiceBuilder for LruPathInfoServiceConfig

source§

impl ServiceBuilder for MemoryPathInfoServiceConfig

source§

impl ServiceBuilder for NixHTTPPathInfoServiceConfig

source§

impl ServiceBuilder for RedbPathInfoServiceConfig

source§

impl ServiceBuilder for KeyFileSigningPathInfoServiceConfig