pub struct RedbStore { /* private fields */ }Expand description
A single-node journal store on redb.
Implementations§
Source§impl RedbStore
impl RedbStore
Sourcepub fn open(path: impl AsRef<Path>) -> Result<Self, StoreError>
pub fn open(path: impl AsRef<Path>) -> Result<Self, StoreError>
Open (or create) a database file.
§Errors
If the file cannot be opened or the tables cannot be created.
Sourcepub fn open_in_memory() -> Result<Self, StoreError>
pub fn open_in_memory() -> Result<Self, StoreError>
An ephemeral database — for tests, for the simulator, and for the CLI’s default journal.
Actually in memory. It was not, and the reason is a comment that
aged into a defect: it said redb has no in-memory backend, which was
true of redb 1 and false since the dependency moved to 3. So the
implementation created a file under std::env::temp_dir and unlinked
it — an anonymous file, which behaves like memory right up until there is
nowhere to put it.
That is not a hypothetical. agentplane run journals here by default,
and the container image runs on a read-only root filesystem with no
writable temp directory, so the documented first command failed with
Read-only file system (os error 30) — a message naming neither the
journal nor the temp directory. The same failure waits in any hardened
deployment, a scratch container, or a sandbox with no /tmp.
A name that says in memory should not need a filesystem to be true.
§Errors
If the database cannot be initialised.
Sourcepub fn for_tenant(self, tenant: TenantId) -> Self
pub fn for_tenant(self, tenant: TenantId) -> Self
A handle addressing one tenant’s keyspace.
Every key this store builds is prefixed, so two tenants may share one physical database and still not reach each other: a read for a run that belongs to another tenant finds nothing, because the key it looks under was never written.
The checkpoint origin carries the tenant too — two tenants sharing a
database would otherwise publish checkpoints under one origin name, and
a witness could not tell whose history it was cosigning. Composed at
read time from the base name and the tenant rather than baked into a
field: baking it in made the builder order-sensitive, so for_tenant
called twice double-qualified the origin and origin() after
for_tenant silently dropped the tenant — either way a checkpoint
under a name no verifier ever saw again.
Sourcepub fn origin(self, origin: impl Into<String>) -> Result<Self, StoreError>
pub fn origin(self, origin: impl Into<String>) -> Result<Self, StoreError>
Name this plane’s Merkle log.
Goes into every checkpoint, so two planes’ checkpoints cannot be confused for one another — which matters the moment they are published to a shared witness.
§Errors
If the name breaks Checkpoint::validate_origin,
refused here rather than at the first checkpoint a witness turns away.
Sourcepub fn signing_as(self, signer: Arc<dyn Signer>) -> Self
pub fn signing_as(self, signer: Arc<dyn Signer>) -> Self
Write records signed as this identity.
Off unless asked, and the default is unsigned rather than self-signed: a plane that quietly minted its own key would produce records that look attested and prove nothing.
Sourcepub fn upcasting_with(self, upcaster: Arc<dyn Upcaster>) -> Self
pub fn upcasting_with(self, upcaster: Arc<dyn Upcaster>) -> Self
Read records through this upcaster instead of the one this build ships.
The default is current_upcaster,
which is what a deployment wants; another is for a reader that must
lift shapes this build’s own does not.
Source§impl RedbStore
impl RedbStore
Sourcepub async fn armed_timers(&self, run: RunId) -> Result<usize, StoreError>
pub async fn armed_timers(&self, run: RunId) -> Result<usize, StoreError>
How many armed timers a run still has.
For tests; the sweep uses claim_due, and an operator asking what a
run waits for reads waiting_runs.
§Errors
If the count cannot be read.
Sourcepub async fn armed_timer_rows(
&self,
run: RunId,
) -> Result<Vec<Timer>, StoreError>
pub async fn armed_timer_rows( &self, run: RunId, ) -> Result<Vec<Timer>, StoreError>
The timers a run still has armed, as the rows the sweep would claim.
For tests, like armed_timers.
§Errors
If the rows cannot be read or decoded.
Trait Implementations§
Source§impl AuthorityStore for RedbStore
impl AuthorityStore for RedbStore
Source§fn issue<'life0, 'life1, 'async_trait>(
&'life0 self,
authority: &'life1 StandingAuthority,
) -> Pin<Box<dyn Future<Output = Result<(), AuthorityError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn issue<'life0, 'life1, 'async_trait>(
&'life0 self,
authority: &'life1 StandingAuthority,
) -> Pin<Box<dyn Future<Output = Result<(), AuthorityError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn draw<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AuthorityId,
key: EffectKey,
amount: Spend,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<Drawn, AuthorityError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn draw<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AuthorityId,
key: EffectKey,
amount: Spend,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<Drawn, AuthorityError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
amount, or refuse and consume nothing. Read moreSource§fn revoke<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 AuthorityId,
reason: &'life2 str,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), AuthorityError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn revoke<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 AuthorityId,
reason: &'life2 str,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), AuthorityError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn state<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AuthorityId,
) -> Pin<Box<dyn Future<Output = Result<Option<AuthorityState>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn state<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 AuthorityId,
) -> Pin<Box<dyn Future<Output = Result<Option<AuthorityState>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§impl BatchStore for RedbStore
impl BatchStore for RedbStore
Source§fn open<'life0, 'life1, 'async_trait>(
&'life0 self,
id: BatchId,
plan_digest: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn open<'life0, 'life1, 'async_trait>(
&'life0 self,
id: BatchId,
plan_digest: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
id, so a retried submission does not
fork one act into two. Read moreSource§fn plan_digest<'life0, 'async_trait>(
&'life0 self,
id: BatchId,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn plan_digest<'life0, 'async_trait>(
&'life0 self,
id: BatchId,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
None for no such batch. Read moreSource§fn mark_exhausted<'life0, 'async_trait>(
&'life0 self,
id: BatchId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn mark_exhausted<'life0, 'async_trait>(
&'life0 self,
id: BatchId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn is_exhausted<'life0, 'async_trait>(
&'life0 self,
id: BatchId,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn is_exhausted<'life0, 'async_trait>(
&'life0 self,
id: BatchId,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn reserve<'life0, 'life1, 'async_trait>(
&'life0 self,
batch: BatchId,
key: &'life1 str,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<ItemRecord, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn reserve<'life0, 'life1, 'async_trait>(
&'life0 self,
batch: BatchId,
key: &'life1 str,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<ItemRecord, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
batch: BatchId,
key: &'life1 str,
outcome: &'life2 ItemOutcome,
spend: Spend,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn record<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
batch: BatchId,
key: &'life1 str,
outcome: &'life2 ItemOutcome,
spend: Spend,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn cursor<'life0, 'async_trait>(
&'life0 self,
batch: BatchId,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cursor<'life0, 'async_trait>(
&'life0 self,
batch: BatchId,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn census<'life0, 'async_trait>(
&'life0 self,
batch: BatchId,
) -> Pin<Box<dyn Future<Output = Result<BatchCensus, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn census<'life0, 'async_trait>(
&'life0 self,
batch: BatchId,
) -> Pin<Box<dyn Future<Output = Result<BatchCensus, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn items<'life0, 'async_trait>(
&'life0 self,
batch: BatchId,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<ItemRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn items<'life0, 'async_trait>(
&'life0 self,
batch: BatchId,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<ItemRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
cursor and census.Source§fn items_needing_attention<'life0, 'async_trait>(
&'life0 self,
batch: BatchId,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<ItemRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn items_needing_attention<'life0, 'async_trait>(
&'life0 self,
batch: BatchId,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<ItemRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl CaseStore for RedbStore
impl CaseStore for RedbStore
Source§fn correlate<'life0, 'life1, 'async_trait>(
&'life0 self,
keys: &'life1 [CorrelationKey],
) -> Pin<Box<dyn Future<Output = Result<Option<CaseId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn correlate<'life0, 'life1, 'async_trait>(
&'life0 self,
keys: &'life1 [CorrelationKey],
) -> Pin<Box<dyn Future<Output = Result<Option<CaseId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn correlate_or_open<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
kind: &'life1 str,
keys: &'life2 [CorrelationKey],
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<Correlation, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn correlate_or_open<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
kind: &'life1 str,
keys: &'life2 [CorrelationKey],
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<Correlation, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn case<'life0, 'async_trait>(
&'life0 self,
id: CaseId,
) -> Pin<Box<dyn Future<Output = Result<Option<Case>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn case<'life0, 'async_trait>(
&'life0 self,
id: CaseId,
) -> Pin<Box<dyn Future<Output = Result<Option<Case>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn cases<'life0, 'async_trait>(
&'life0 self,
after: Option<CaseId>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Case>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cases<'life0, 'async_trait>(
&'life0 self,
after: Option<CaseId>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Case>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn import_case<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
case: &'life1 Case,
deadlines: &'life2 [Deadline],
blobs: &'life3 [Digest],
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn import_case<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
case: &'life1 Case,
deadlines: &'life2 [Deadline],
blobs: &'life3 [Digest],
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn attach_run<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn attach_run<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn link_blob<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
digest: Digest,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn link_blob<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
digest: Digest,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn blobs_of<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<Vec<Digest>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn blobs_of<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<Vec<Digest>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn put_state<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
expected: CaseVersion,
state: Value,
) -> Pin<Box<dyn Future<Output = Result<CaseVersion, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn put_state<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
expected: CaseVersion,
state: Value,
) -> Pin<Box<dyn Future<Output = Result<CaseVersion, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
expected. Read moreSource§fn set_status<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
status: CaseStatus,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_status<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
status: CaseStatus,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn close<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn register_deadline<'life0, 'life1, 'async_trait>(
&'life0 self,
deadline: &'life1 Deadline,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn register_deadline<'life0, 'life1, 'async_trait>(
&'life0 self,
deadline: &'life1 Deadline,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn deadlines<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<Vec<Deadline>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_deadline_state<'life0, 'life1, 'async_trait>(
&'life0 self,
case: CaseId,
name: &'life1 str,
state: DeadlineState,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn breach_deadline<'life0, 'life1, 'async_trait>(
&'life0 self,
case: CaseId,
name: &'life1 str,
now: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn breach_deadline<'life0, 'life1, 'async_trait>(
&'life0 self,
case: CaseId,
name: &'life1 str,
now: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
now. Returns whether it applied. Read moreSource§fn breaches_to_note<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Deadline>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn breaches_to_note<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Deadline>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
breach_deadline applied whose
account the sweep has not yet written, longest-overdue first.Source§fn mark_breach_noted<'life0, 'life1, 'async_trait>(
&'life0 self,
case: CaseId,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn mark_breach_noted<'life0, 'life1, 'async_trait>(
&'life0 self,
case: CaseId,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn record_drill<'life0, 'life1, 'async_trait>(
&'life0 self,
record: &'life1 DrillRecord,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn record_drill<'life0, 'life1, 'async_trait>(
&'life0 self,
record: &'life1 DrillRecord,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn last_drill<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<DrillRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn last_drill<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<DrillRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
None if this plane has never run one. Read moreSource§fn census<'life0, 'async_trait>(
&'life0 self,
now: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<CaseCensus, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn census<'life0, 'async_trait>(
&'life0 self,
now: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<CaseCensus, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
runtime::metrics. Read moreSource§fn due<'life0, 'async_trait>(
&'life0 self,
now: Timestamp,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Deadline>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn due<'life0, 'async_trait>(
&'life0 self,
now: Timestamp,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Deadline>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn breached<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Deadline>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn breached<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Deadline>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn acknowledge_breach<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
case: CaseId,
name: &'life1 str,
note: &'life2 BreachNote,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn acknowledge_breach<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
case: CaseId,
name: &'life1 str,
note: &'life2 BreachNote,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn place_hold<'life0, 'life1, 'async_trait>(
&'life0 self,
case: CaseId,
hold: &'life1 LegalHold,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn place_hold<'life0, 'life1, 'async_trait>(
&'life0 self,
case: CaseId,
hold: &'life1 LegalHold,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn release_hold<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn release_hold<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn release_hold_if<'life0, 'life1, 'async_trait>(
&'life0 self,
case: CaseId,
standing: &'life1 LegalHold,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn release_hold_if<'life0, 'life1, 'async_trait>(
&'life0 self,
case: CaseId,
standing: &'life1 LegalHold,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
case only if it is still standing — same instant,
same reason, same operator. Read moreSource§fn hold<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<Option<LegalHold>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn hold<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<Option<LegalHold>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn begin_erasure<'life0, 'life1, 'async_trait>(
&'life0 self,
case: CaseId,
at: Timestamp,
reason: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ErasureStart, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn begin_erasure<'life0, 'life1, 'async_trait>(
&'life0 self,
case: CaseId,
at: Timestamp,
reason: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ErasureStart, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
case is being erased, deciding against a hold in the same
write — the step erase_case takes before it
destroys anything. Read moreSource§fn complete_erasure<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn complete_erasure<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
begin_erasure marked
has destroyed everything it reaches. Idempotent. Read moreSource§fn erasure<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<Option<Erasure>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn erasure<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<Option<Erasure>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl DisclosureRegister for RedbStore
impl DisclosureRegister for RedbStore
Source§fn record<'life0, 'life1, 'async_trait>(
&'life0 self,
act: &'life1 Disclosure,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn record<'life0, 'life1, 'async_trait>(
&'life0 self,
act: &'life1 Disclosure,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn disclosures<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
cases: &'life1 [CaseId],
runs: &'life2 [RunId],
) -> Pin<Box<dyn Future<Output = Result<Vec<Disclosure>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn disclosures<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
cases: &'life1 [CaseId],
runs: &'life2 [RunId],
) -> Pin<Box<dyn Future<Output = Result<Vec<Disclosure>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§impl EventStore for RedbStore
impl EventStore for RedbStore
Source§fn buffer<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 InboundEvent,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn buffer<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 InboundEvent,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn subscribe<'life0, 'life1, 'async_trait>(
&'life0 self,
sub: &'life1 Subscription,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn subscribe<'life0, 'life1, 'async_trait>(
&'life0 self,
sub: &'life1 Subscription,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn claim_for<'life0, 'life1, 'async_trait>(
&'life0 self,
sub: &'life1 Subscription,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<Option<BufferedEvent>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn claim_for<'life0, 'life1, 'async_trait>(
&'life0 self,
sub: &'life1 Subscription,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<Option<BufferedEvent>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn match_waiter<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 InboundEvent,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<Option<Subscription>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn match_waiter<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 InboundEvent,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<Option<Subscription>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn deliver_to<'life0, 'life1, 'async_trait>(
&'life0 self,
target: RunId,
event: &'life1 InboundEvent,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<TargetedDelivery, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn deliver_to<'life0, 'life1, 'async_trait>(
&'life0 self,
target: RunId,
event: &'life1 InboundEvent,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<TargetedDelivery, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn unsubscribe<'life0, 'async_trait>(
&'life0 self,
run: RunId,
effect: EffectKey,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn unsubscribe<'life0, 'async_trait>(
&'life0 self,
run: RunId,
effect: EffectKey,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn unsubscribe_run<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
unanswered: &'life1 [EffectKey],
) -> Pin<Box<dyn Future<Output = Result<Retired, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn unsubscribe_run<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
unanswered: &'life1 [EffectKey],
) -> Pin<Box<dyn Future<Output = Result<Retired, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn park_wait<'life0, 'life1, 'async_trait>(
&'life0 self,
sub: &'life1 Subscription,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn park_wait<'life0, 'life1, 'async_trait>(
&'life0 self,
sub: &'life1 Subscription,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn parked_waits<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Subscription>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn parked_waits<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Subscription>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn erase_payload<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
source: &'life1 str,
id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn erase_payload<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
source: &'life1 str,
id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn minter<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
source: &'life1 str,
id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Minter>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn minter<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
source: &'life1 str,
id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Minter>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn sweep_unclaimed<'life0, 'life1, 'async_trait>(
&'life0 self,
older_than: Timestamp,
reason: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn sweep_unclaimed<'life0, 'life1, 'async_trait>(
&'life0 self,
older_than: Timestamp,
reason: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn dead_letters<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<DeadLetter>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn dead_letters<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<DeadLetter>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl JournalStore for RedbStore
impl JournalStore for RedbStore
One file, one writer. That single writer is what makes exactly-once a
table key and fencing race-free here — and it is why a plane that needs
two instances needs PostgreSQL instead.
Source§fn read_page<'life0, 'async_trait>(
&'life0 self,
run: RunId,
from: Seq,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Record>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read_page<'life0, 'async_trait>(
&'life0 self,
run: RunId,
from: Seq,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Record>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
The bounded read, and the one that decodes — read is this with no
ceiling, so the two cannot come to disagree about what a record is.
Source§fn seals(&self) -> bool
fn seals(&self) -> bool
Source§fn append<'life0, 'async_trait>(
&'life0 self,
epoch: Epoch,
batch: Vec<Append>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Record>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn append<'life0, 'async_trait>(
&'life0 self,
epoch: Epoch,
batch: Vec<Append>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Record>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn read<'life0, 'async_trait>(
&'life0 self,
run: RunId,
from: Seq,
) -> Pin<Box<dyn Future<Output = Result<Vec<Record>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn read<'life0, 'async_trait>(
&'life0 self,
run: RunId,
from: Seq,
) -> Pin<Box<dyn Future<Output = Result<Vec<Record>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
from (inclusive, 1-based) onward. Read moreSource§fn case_history<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Record>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn case_history<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Record>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn head<'life0, 'async_trait>(
&'life0 self,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<Head, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn head<'life0, 'async_trait>(
&'life0 self,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<Head, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn acquire<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
owner: &'life1 str,
ttl: Duration,
) -> Pin<Box<dyn Future<Output = Result<Lease, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn acquire<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
owner: &'life1 str,
ttl: Duration,
) -> Pin<Box<dyn Future<Output = Result<Lease, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn renew<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
owner: &'life1 str,
epoch: Epoch,
ttl: Duration,
) -> Pin<Box<dyn Future<Output = Result<Lease, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn renew<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
owner: &'life1 str,
epoch: Epoch,
ttl: Duration,
) -> Pin<Box<dyn Future<Output = Result<Lease, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn release_lease<'life0, 'async_trait>(
&'life0 self,
run: RunId,
epoch: Epoch,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn release_lease<'life0, 'async_trait>(
&'life0 self,
run: RunId,
epoch: Epoch,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn waiting_runs<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<WaitingRun>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn waiting_runs<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<WaitingRun>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn abandoned_runs<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<RunId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn abandoned_runs<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<RunId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn seal<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
epoch: Epoch,
outcome: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Digest, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn seal<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
epoch: Epoch,
outcome: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Digest, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn admitted_as<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<RunId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn admitted_as<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<RunId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn forget_admissions<'life0, 'async_trait>(
&'life0 self,
older_than: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn forget_admissions<'life0, 'async_trait>(
&'life0 self,
older_than: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
older_than. Returns how many. Read moreSource§fn runs_by_outcome<'life0, 'life1, 'async_trait>(
&'life0 self,
outcome: &'life1 str,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<RunId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn runs_by_outcome<'life0, 'life1, 'async_trait>(
&'life0 self,
outcome: &'life1 str,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<RunId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
outcome, newest first. Read moreSource§fn count_by_outcome<'life0, 'life1, 'async_trait>(
&'life0 self,
outcome: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn count_by_outcome<'life0, 'life1, 'async_trait>(
&'life0 self,
outcome: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn recent_runs<'life0, 'async_trait>(
&'life0 self,
after: Option<(u64, RunId)>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<(RunId, u64)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn recent_runs<'life0, 'async_trait>(
&'life0 self,
after: Option<(u64, RunId)>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<(RunId, u64)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn runs_by_id<'life0, 'async_trait>(
&'life0 self,
after: Option<RunId>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<RunId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn runs_by_id<'life0, 'async_trait>(
&'life0 self,
after: Option<RunId>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<RunId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
after. Read moreSource§fn recent_runs_from<'life0, 'life1, 'async_trait>(
&'life0 self,
source: &'life1 str,
after: Option<(u64, RunId)>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<(RunId, u64)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn recent_runs_from<'life0, 'life1, 'async_trait>(
&'life0 self,
source: &'life1 str,
after: Option<(u64, RunId)>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<(RunId, u64)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
recent_runs, narrowed to the runs one producer
admitted: those whose RunAdmitted carries an admission key whose
source half (origin_source) is
source. Read moreSource§fn checkpoint<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Checkpoint, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn checkpoint<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Checkpoint, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn consistency_proof<'life0, 'async_trait>(
&'life0 self,
old_size: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Digest>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn consistency_proof<'life0, 'async_trait>(
&'life0 self,
old_size: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Digest>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
old_size. Read moreSource§fn consistency_proof_at<'life0, 'async_trait>(
&'life0 self,
old_size: u64,
new_size: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Digest>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn consistency_proof_at<'life0, 'async_trait>(
&'life0 self,
old_size: u64,
new_size: u64,
) -> Pin<Box<dyn Future<Output = Result<Vec<Digest>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
new_size leaves extends the one at
old_size — the proof for a checkpoint an earlier
checkpoint returned, not for the live log. Read moreSource§fn inclusion_proof<'life0, 'async_trait>(
&'life0 self,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<Option<Inclusion>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn inclusion_proof<'life0, 'async_trait>(
&'life0 self,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<Option<Inclusion>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn inclusion_proof_at<'life0, 'async_trait>(
&'life0 self,
run: RunId,
size: u64,
) -> Pin<Box<dyn Future<Output = Result<Option<Inclusion>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn inclusion_proof_at<'life0, 'async_trait>(
&'life0 self,
run: RunId,
size: u64,
) -> Pin<Box<dyn Future<Output = Result<Option<Inclusion>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
size leaves — the
checkpoint an earlier checkpoint returned, not the
live one. Read moreSource§fn log_positions<'life0, 'life1, 'async_trait>(
&'life0 self,
runs: &'life1 [RunId],
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<(u64, Digest)>>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn log_positions<'life0, 'life1, 'async_trait>(
&'life0 self,
runs: &'life1 [RunId],
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<(u64, Digest)>>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
runs sits in the log — its index and leaf — or None
for a run that is not sealed, in the order asked. Read moreSource§fn request_cancel<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: RunId,
actor: &'life1 Operator,
reason: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn request_cancel<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: RunId,
actor: &'life1 Operator,
reason: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn cancellation<'life0, 'async_trait>(
&'life0 self,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<Option<Cancellation>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn cancellation<'life0, 'async_trait>(
&'life0 self,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<Option<Cancellation>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl MemoryStore for RedbStore
impl MemoryStore for RedbStore
Source§fn seals(&self) -> bool
fn seals(&self) -> bool
Source§fn remember<'life0, 'life1, 'async_trait>(
&'life0 self,
item: &'life1 MemoryItem,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remember<'life0, 'life1, 'async_trait>(
&'life0 self,
item: &'life1 MemoryItem,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn recall<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 Recall,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryItem>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn recall<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 Recall,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryItem>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn subject_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
subject: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn subject_ids<'life0, 'life1, 'async_trait>(
&'life0 self,
subject: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn version<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
version: u64,
) -> Pin<Box<dyn Future<Output = Result<Option<MemoryItem>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn version<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
version: u64,
) -> Pin<Box<dyn Future<Output = Result<Option<MemoryItem>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn current<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
as_of: Option<Timestamp>,
) -> Pin<Box<dyn Future<Output = Result<Option<MemoryItem>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn current<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
as_of: Option<Timestamp>,
) -> Pin<Box<dyn Future<Output = Result<Option<MemoryItem>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
id a fresh recall at as_of would be allowed to
see — or None, which covers a memory that was never written, was
forgotten or swept, or whose effective expiry (min(expires_at, access window)) has passed the cutoff. None for as_of skips the expiry
check, exactly as it does on recall. Read moreSource§fn derivatives<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryItem>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn derivatives<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryItem>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn forget_cascading<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Cascade, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn forget_cascading<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Cascade, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn forget<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn forget<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn forget_subject<'life0, 'life1, 'async_trait>(
&'life0 self,
subject: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn forget_subject<'life0, 'life1, 'async_trait>(
&'life0 self,
subject: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn set_legal_hold<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
held: bool,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn set_legal_hold<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
held: bool,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
StoreError::UnderLegalHold, and the sweep passes over it.Source§fn legal_hold<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn legal_hold<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn legal_holds<'life0, 'life1, 'async_trait>(
&'life0 self,
after: Option<&'life1 str>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn legal_holds<'life0, 'life1, 'async_trait>(
&'life0 self,
after: Option<&'life1 str>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
after. Read moreSource§fn sweep_expired<'life0, 'async_trait>(
&'life0 self,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<Vec<(String, u64)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn sweep_expired<'life0, 'async_trait>(
&'life0 self,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<Vec<(String, u64)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn touch<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn touch<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn erasure_is_distributed(&self) -> Option<bool>
fn erasure_is_distributed(&self) -> Option<bool>
Source§fn erasure_index(&self) -> Option<Arc<dyn SemanticRetriever>>
fn erasure_index(&self) -> Option<Arc<dyn SemanticRetriever>>
Source§fn erase_reaching<'life0, 'life1, 'async_trait>(
&'life0 self,
verb: MemoryErasure<'life1>,
) -> Pin<Box<dyn Future<Output = Result<(Reached, Option<StoreError>), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn erase_reaching<'life0, 'life1, 'async_trait>(
&'life0 self,
verb: MemoryErasure<'life1>,
) -> Pin<Box<dyn Future<Output = Result<(Reached, Option<StoreError>), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§impl PushStore for RedbStore
impl PushStore for RedbStore
Source§fn put<'life0, 'life1, 'async_trait>(
&'life0 self,
config: &'life1 PushConfig,
next_seq: Seq,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn put<'life0, 'life1, 'async_trait>(
&'life0 self,
config: &'life1 PushConfig,
next_seq: Seq,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
task: RunId,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<PushConfig>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
task: RunId,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<PushConfig>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn list<'life0, 'async_trait>(
&'life0 self,
task: RunId,
) -> Pin<Box<dyn Future<Output = Result<Vec<PushConfig>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list<'life0, 'async_trait>(
&'life0 self,
task: RunId,
) -> Pin<Box<dyn Future<Output = Result<Vec<PushConfig>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn due<'life0, 'async_trait>(
&'life0 self,
at: u64,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<PushRegistration>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn due<'life0, 'async_trait>(
&'life0 self,
at: u64,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<PushRegistration>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn due_in<'life0, 'async_trait>(
&'life0 self,
at: u64,
limit: usize,
namespace: PushNamespace,
) -> Pin<Box<dyn Future<Output = Result<DueBatch, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn due_in<'life0, 'async_trait>(
&'life0 self,
at: u64,
limit: usize,
namespace: PushNamespace,
) -> Pin<Box<dyn Future<Output = Result<DueBatch, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn advance<'life0, 'life1, 'async_trait>(
&'life0 self,
task: RunId,
id: &'life1 str,
next_seq: Seq,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn advance<'life0, 'life1, 'async_trait>(
&'life0 self,
task: RunId,
id: &'life1 str,
next_seq: Seq,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
next_seq.Source§fn retry<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
task: RunId,
id: &'life1 str,
next_attempt_at: u64,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn retry<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
task: RunId,
id: &'life1 str,
next_attempt_at: u64,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn park<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
task: RunId,
id: &'life1 str,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn park<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
task: RunId,
id: &'life1 str,
error: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn parked<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<PushRegistration>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn parked<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<PushRegistration>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn unpark<'life0, 'life1, 'async_trait>(
&'life0 self,
task: RunId,
id: &'life1 str,
at: u64,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn unpark<'life0, 'life1, 'async_trait>(
&'life0 self,
task: RunId,
id: &'life1 str,
at: u64,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
at, with its attempt count reset. Read moreSource§impl QuotaStore for RedbStore
impl QuotaStore for RedbStore
Source§fn reserve<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: RunId,
quota: &'life1 TenantQuota,
hold: Option<&'life2 SpendHold>,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), QuotaError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn reserve<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
run: RunId,
quota: &'life1 TenantQuota,
hold: Option<&'life2 SpendHold>,
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), QuotaError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
run, and hold its spend, or refuse. Read moreSource§fn reserve_rate<'life0, 'life1, 'async_trait>(
&'life0 self,
reservation: &'life1 RateReservation,
) -> Pin<Box<dyn Future<Output = Result<(), QuotaError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn reserve_rate<'life0, 'life1, 'async_trait>(
&'life0 self,
reservation: &'life1 RateReservation,
) -> Pin<Box<dyn Future<Output = Result<(), QuotaError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn rate_room<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
grant: &'life1 str,
ceilings: &'life2 [RateCeiling],
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), QuotaError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn rate_room<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
grant: &'life1 str,
ceilings: &'life2 [RateCeiling],
at: Timestamp,
) -> Pin<Box<dyn Future<Output = Result<(), QuotaError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
grant would have room now, taking none. Read moreSource§fn set_halt<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
scope: &'life1 HaltScope,
by: &'life2 Operator,
at: Timestamp,
reason: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn set_halt<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
scope: &'life1 HaltScope,
by: &'life2 Operator,
at: Timestamp,
reason: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
scope from starting. Read moreSource§fn lift_halt<'life0, 'life1, 'async_trait>(
&'life0 self,
scope: &'life1 HaltScope,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn lift_halt<'life0, 'life1, 'async_trait>(
&'life0 self,
scope: &'life1 HaltScope,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
scope start again. Read moreSource§fn lift_halt_if<'life0, 'life1, 'async_trait>(
&'life0 self,
standing: &'life1 Halt,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn lift_halt_if<'life0, 'life1, 'async_trait>(
&'life0 self,
standing: &'life1 Halt,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
standing.scope only if the row there is still
standing — same reason, same operator, same instant. Read moreSource§fn halts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<Halt>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn halts<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<Halt>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn release<'life0, 'async_trait>(
&'life0 self,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn release<'life0, 'async_trait>(
&'life0 self,
run: RunId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn carry<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
period: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn carry<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
period: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
period, where a resume is about to spend. Read moreSource§fn reservations<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Held>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reservations<'life0, 'async_trait>(
&'life0 self,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Held>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn reserved<'life0, 'life1, 'async_trait>(
&'life0 self,
period: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Spend, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn reserved<'life0, 'life1, 'async_trait>(
&'life0 self,
period: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Spend, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
period. Read moreSource§fn settle<'life0, 'life1, 'async_trait>(
&'life0 self,
settlement: &'life1 QuotaSettlement,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn settle<'life0, 'life1, 'async_trait>(
&'life0 self,
settlement: &'life1 QuotaSettlement,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn spent<'life0, 'life1, 'async_trait>(
&'life0 self,
period: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Spend, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn spent<'life0, 'life1, 'async_trait>(
&'life0 self,
period: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Spend, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
period — spend that happened, not
spend held. Read moreSource§impl Registry for RedbStore
impl Registry for RedbStore
Source§fn publish<'life0, 'life1, 'async_trait>(
&'life0 self,
manifest: &'life1 Manifest,
) -> Pin<Box<dyn Future<Output = Result<Digest, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn publish<'life0, 'life1, 'async_trait>(
&'life0 self,
manifest: &'life1 Manifest,
) -> Pin<Box<dyn Future<Output = Result<Digest, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn publish_signed<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
manifest: &'life1 Manifest,
signer: &'life2 dyn Signer,
) -> Pin<Box<dyn Future<Output = Result<Digest, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn publish_signed<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
manifest: &'life1 Manifest,
signer: &'life2 dyn Signer,
) -> Pin<Box<dyn Future<Output = Result<Digest, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn resolve<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
name: &'life1 str,
version: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Manifest, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn resolve<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
name: &'life1 str,
version: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Manifest, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn resolve_verified<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
name: &'life1 str,
version: &'life2 str,
verifier: &'life3 dyn Verifier,
) -> Pin<Box<dyn Future<Output = Result<(Manifest, KeyId), RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn resolve_verified<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
name: &'life1 str,
version: &'life2 str,
verifier: &'life3 dyn Verifier,
) -> Pin<Box<dyn Future<Output = Result<(Manifest, KeyId), RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn versions<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn versions<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn names<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn names<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn resolve_pinned<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
name: &'life1 str,
version: &'life2 str,
expected: Digest,
) -> Pin<Box<dyn Future<Output = Result<Manifest, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn resolve_pinned<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
name: &'life1 str,
version: &'life2 str,
expected: Digest,
) -> Pin<Box<dyn Future<Output = Result<Manifest, RegistryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§impl TaskStore for RedbStore
impl TaskStore for RedbStore
Source§fn open<'life0, 'life1, 'async_trait>(
&'life0 self,
task: &'life1 Task,
) -> Pin<Box<dyn Future<Output = Result<Task, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn open<'life0, 'life1, 'async_trait>(
&'life0 self,
task: &'life1 Task,
) -> Pin<Box<dyn Future<Output = Result<Task, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn task<'life0, 'async_trait>(
&'life0 self,
id: TaskId,
) -> Pin<Box<dyn Future<Output = Result<Option<Task>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn task<'life0, 'async_trait>(
&'life0 self,
id: TaskId,
) -> Pin<Box<dyn Future<Output = Result<Option<Task>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
CaseStore::case.Source§fn claim<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: TaskId,
actor: &'life1 str,
roles: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Task, ClaimError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn claim<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: TaskId,
actor: &'life1 str,
roles: &'life2 [String],
) -> Pin<Box<dyn Future<Output = Result<Task, ClaimError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn take_over<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: TaskId,
from: &'life1 str,
actor: &'life2 str,
roles: &'life3 [String],
) -> Pin<Box<dyn Future<Output = Result<Task, ClaimError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn take_over<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: TaskId,
from: &'life1 str,
actor: &'life2 str,
roles: &'life3 [String],
) -> Pin<Box<dyn Future<Output = Result<Task, ClaimError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn release<'life0, 'life1, 'async_trait>(
&'life0 self,
id: TaskId,
actor: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), ClaimError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn release<'life0, 'life1, 'async_trait>(
&'life0 self,
id: TaskId,
actor: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), ClaimError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn escalate<'life0, 'async_trait>(
&'life0 self,
id: TaskId,
) -> Pin<Box<dyn Future<Output = Result<Task, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn escalate<'life0, 'async_trait>(
&'life0 self,
id: TaskId,
) -> Pin<Box<dyn Future<Output = Result<Task, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn set_state<'life0, 'async_trait>(
&'life0 self,
id: TaskId,
state: TaskState,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_state<'life0, 'async_trait>(
&'life0 self,
id: TaskId,
state: TaskState,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn withdraw_run<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
awaited: &'life1 [TaskId],
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn withdraw_run<'life0, 'life1, 'async_trait>(
&'life0 self,
run: RunId,
awaited: &'life1 [TaskId],
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
awaited that belong to run and are still
pending, returning how many. Read moreSource§fn queue<'life0, 'life1, 'async_trait>(
&'life0 self,
roles: &'life1 [String],
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Task>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn queue<'life0, 'life1, 'async_trait>(
&'life0 self,
roles: &'life1 [String],
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Task>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn for_case<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<Vec<Task>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn for_case<'life0, 'async_trait>(
&'life0 self,
case: CaseId,
) -> Pin<Box<dyn Future<Output = Result<Vec<Task>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn open_count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn open_count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn overdue<'life0, 'async_trait>(
&'life0 self,
now: Timestamp,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Task>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn overdue<'life0, 'async_trait>(
&'life0 self,
now: Timestamp,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Task>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl TimerStore for RedbStore
impl TimerStore for RedbStore
Source§fn arm<'life0, 'life1, 'async_trait>(
&'life0 self,
timer: &'life1 Timer,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn arm<'life0, 'life1, 'async_trait>(
&'life0 self,
timer: &'life1 Timer,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn claim_due<'life0, 'async_trait>(
&'life0 self,
now: Timestamp,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Timer>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn claim_due<'life0, 'async_trait>(
&'life0 self,
now: Timestamp,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Timer>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
now. Read moreSource§fn pending_count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn pending_count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for RedbStore
impl !UnwindSafe for RedbStore
impl Freeze for RedbStore
impl Send for RedbStore
impl Sync for RedbStore
impl Unpin for RedbStore
impl UnsafeUnpin for RedbStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<B> FullBackend for Bwhere
B: JournalStore + CaseStore + TaskStore + EventStore + TimerStore + MemoryStore + QuotaStore + DisclosureRegister,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more