Trait warg_client::storage::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: &'life1 Option<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: &'life1 Option<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: &'life1 Option<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: &'life1 Option<RegistryDomain>,
operator: OperatorInfo
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn load_packages<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<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<String, Vec<PackageInfo>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn load_package<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
namespace_registry: &'life1 Option<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: &'life1 Option<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: &'life1 Option<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: &'life1 Option<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: &'life1 Option<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: &'life1 Option<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: &'life1 Option<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: &'life1 Option<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: &'life1 Option<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: &'life1 Option<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_packages<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<PackageInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_packages<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Vec<PackageInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Loads the package information for all packages in the home registry storage .
sourcefn load_all_packages<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<IndexMap<String, 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<String, Vec<PackageInfo>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Loads the package information for all packages in all registry storages.
sourcefn load_package<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
namespace_registry: &'life1 Option<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: &'life1 Option<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: &'life1 Option<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: &'life1 Option<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.