pub trait ProviderProbeJournal: Send + Sync {
// Required methods
fn load<'life0, 'async_trait>(
&'life0 self,
probe_id: ProviderProbeId,
) -> Pin<Box<dyn Future<Output = Result<Option<ProviderProbeJournalRecord>, StorageError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn begin<'life0, 'async_trait>(
&'life0 self,
prepared: ProviderProbeJournalRecord,
) -> Pin<Box<dyn Future<Output = Result<ProviderProbeJournalRecord, StorageError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn advance<'life0, 'life1, 'async_trait>(
&'life0 self,
previous: &'life1 ProviderProbeJournalRecord,
next: ProviderProbeJournalRecord,
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Required Methods§
fn load<'life0, 'async_trait>(
&'life0 self,
probe_id: ProviderProbeId,
) -> Pin<Box<dyn Future<Output = Result<Option<ProviderProbeJournalRecord>, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourcefn begin<'life0, 'async_trait>(
&'life0 self,
prepared: ProviderProbeJournalRecord,
) -> Pin<Box<dyn Future<Output = Result<ProviderProbeJournalRecord, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn begin<'life0, 'async_trait>(
&'life0 self,
prepared: ProviderProbeJournalRecord,
) -> Pin<Box<dyn Future<Output = Result<ProviderProbeJournalRecord, StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Atomically inserts prepared when absent or returns the exact existing
record for this probe id. A different record under the id is corruption.
Sourcefn advance<'life0, 'life1, 'async_trait>(
&'life0 self,
previous: &'life1 ProviderProbeJournalRecord,
next: ProviderProbeJournalRecord,
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn advance<'life0, 'life1, 'async_trait>(
&'life0 self,
previous: &'life1 ProviderProbeJournalRecord,
next: ProviderProbeJournalRecord,
) -> Pin<Box<dyn Future<Output = Result<(), StorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Atomically replaces the exact current record. Implementations reject a stale predecessor instead of merging progress.