RegistryStorage

Trait RegistryStorage 

Source
pub trait RegistryStorage: Send + Sync {
    // Required methods
    fn reset<'life0, 'async_trait>(
        &'life0 self,
        all_registries: bool,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn load_checkpoint<'life0, 'life1, 'async_trait>(
        &'life0 self,
        namespace_registry: Option<&'life1 RegistryDomain>,
    ) -> Pin<Box<dyn Future<Output = Result<Option<SerdeEnvelope<TimestampedCheckpoint>>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn store_checkpoint<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        namespace_registry: Option<&'life1 RegistryDomain>,
        ts_checkpoint: &'life2 SerdeEnvelope<TimestampedCheckpoint>,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn load_operator<'life0, 'life1, 'async_trait>(
        &'life0 self,
        namespace_registry: Option<&'life1 RegistryDomain>,
    ) -> Pin<Box<dyn Future<Output = Result<Option<OperatorInfo>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn store_operator<'life0, 'life1, 'async_trait>(
        &'life0 self,
        namespace_registry: Option<&'life1 RegistryDomain>,
        operator: OperatorInfo,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn load_all_packages<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<IndexMap<RegistryDomain, Vec<PackageInfo>>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn load_package<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        namespace_registry: Option<&'life1 RegistryDomain>,
        package: &'life2 PackageName,
    ) -> Pin<Box<dyn Future<Output = Result<Option<PackageInfo>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn store_package<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        namespace_registry: Option<&'life1 RegistryDomain>,
        info: &'life2 PackageInfo,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn load_publish<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Option<PublishInfo>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn store_publish<'life0, 'life1, 'async_trait>(
        &'life0 self,
        info: Option<&'life1 PublishInfo>,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Trait for registry storage implementations.

Stores information such as package/operator logs and checkpoints on a per-registry basis.

Registry storage data must be synchronized if shared between multiple threads and processes.

Required Methods§

Source

fn reset<'life0, 'async_trait>( &'life0 self, all_registries: bool, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Reset registry local data

Source

fn load_checkpoint<'life0, 'life1, 'async_trait>( &'life0 self, namespace_registry: Option<&'life1 RegistryDomain>, ) -> Pin<Box<dyn Future<Output = Result<Option<SerdeEnvelope<TimestampedCheckpoint>>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Loads most recent checkpoint

Source

fn store_checkpoint<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, namespace_registry: Option<&'life1 RegistryDomain>, ts_checkpoint: &'life2 SerdeEnvelope<TimestampedCheckpoint>, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Stores most recent checkpoint

Source

fn load_operator<'life0, 'life1, 'async_trait>( &'life0 self, namespace_registry: Option<&'life1 RegistryDomain>, ) -> Pin<Box<dyn Future<Output = Result<Option<OperatorInfo>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Loads the operator information from the storage.

Returns Ok(None) if the information is not present.

Source

fn store_operator<'life0, 'life1, 'async_trait>( &'life0 self, namespace_registry: Option<&'life1 RegistryDomain>, operator: OperatorInfo, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Stores the operator information in the storage.

Source

fn load_all_packages<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<IndexMap<RegistryDomain, Vec<PackageInfo>>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Loads the package information for all packages.

Source

fn load_package<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, namespace_registry: Option<&'life1 RegistryDomain>, package: &'life2 PackageName, ) -> Pin<Box<dyn Future<Output = Result<Option<PackageInfo>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Loads the package information from the storage.

Returns Ok(None) if the information is not present.

Source

fn store_package<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, namespace_registry: Option<&'life1 RegistryDomain>, info: &'life2 PackageInfo, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Stores the package information in the storage.

Source

fn load_publish<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Option<PublishInfo>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Loads information about a pending publish operation.

Returns Ok(None) if the information is not present.

Source

fn store_publish<'life0, 'life1, 'async_trait>( &'life0 self, info: Option<&'life1 PublishInfo>, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Stores information about a pending publish operation.

If the info is None, the any existing publish information is deleted.

Implementors§