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§
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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_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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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,
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.