Trait asuran::repository::backend::Manifest [−][src]
pub trait Manifest: Send + Sync + Debug + 'static {
type Iterator: Iterator<Item = StoredArchive> + 'static;
fn last_modification<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<DateTime<FixedOffset>>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn chunk_settings<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = ChunkSettings> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn archive_iterator<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Self::Iterator> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn write_chunk_settings<'life0, 'async_trait>(
&'life0 mut self,
settings: ChunkSettings
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn write_archive<'life0, 'async_trait>(
&'life0 mut self,
archive: StoredArchive
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn touch<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn seen_versions<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = HashSet<(Version, Uuid)>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
}
Expand description
Manifest trait
Keeps track of which archives are in the repository.
All writing methods should commit to hard storage prior to returning
Associated Types
type Iterator: Iterator<Item = StoredArchive> + 'static
Required methods
fn last_modification<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<DateTime<FixedOffset>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn last_modification<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<DateTime<FixedOffset>>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Timestamp of the last modification
fn chunk_settings<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = ChunkSettings> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn chunk_settings<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = ChunkSettings> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Returns the default settings for new chunks in this repository
Returns an iterator over the list of archives in this repository, in reverse chronological order (newest first).
fn write_chunk_settings<'life0, 'async_trait>(
&'life0 mut self,
settings: ChunkSettings
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn write_chunk_settings<'life0, 'async_trait>(
&'life0 mut self,
settings: ChunkSettings
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Sets the chunk settings in the repository
fn write_archive<'life0, 'async_trait>(
&'life0 mut self,
archive: StoredArchive
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn write_archive<'life0, 'async_trait>(
&'life0 mut self,
archive: StoredArchive
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Adds an archive to the manifest
Updates the timestamp without performing any other operations