pub trait TriggerStore: Send + Sync {
// Required methods
fn execute_command<'life0, 'life1, 'async_trait>(
&'life0 self,
operation_id: &'life1 str,
command: TriggerCommand,
) -> Pin<Box<dyn Future<Output = Result<TriggerEffectResult, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn list_subscriptions<'life0, 'async_trait>(
&'life0 self,
filter: TriggerSubscriptionFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerSubscriptionRecord>, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_session_subscriptions<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<usize, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn ingest_occurrence<'life0, 'async_trait>(
&'life0 self,
request: TriggerOccurrenceRequest,
) -> Pin<Box<dyn Future<Output = Result<TriggerIngressResult, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_occurrences<'life0, 'async_trait>(
&'life0 self,
filter: TriggerOccurrenceFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerOccurrenceRecord>, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_deliveries_by_occurrence_id<'life0, 'life1, 'async_trait>(
&'life0 self,
occurrence_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerDeliveryReservation>, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn list_deliveries_by_subscription_id<'life0, 'life1, 'async_trait>(
&'life0 self,
subscription_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerDeliveryReservation>, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn list_deliveries_by_process_id<'life0, 'life1, 'async_trait>(
&'life0 self,
process_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerDeliveryReservation>, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn list_deliveries<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerDeliveryReservation>, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn prune_mutation_receipts<'life0, 'async_trait>(
&'life0 self,
cutoff_epoch_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<usize, PluginError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided method
fn durability_tier(&self) -> DurabilityTier { ... }
}Required Methods§
fn execute_command<'life0, 'life1, 'async_trait>(
&'life0 self,
operation_id: &'life1 str,
command: TriggerCommand,
) -> Pin<Box<dyn Future<Output = Result<TriggerEffectResult, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_subscriptions<'life0, 'async_trait>(
&'life0 self,
filter: TriggerSubscriptionFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerSubscriptionRecord>, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_session_subscriptions<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<usize, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn ingest_occurrence<'life0, 'async_trait>(
&'life0 self,
request: TriggerOccurrenceRequest,
) -> Pin<Box<dyn Future<Output = Result<TriggerIngressResult, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_occurrences<'life0, 'async_trait>(
&'life0 self,
filter: TriggerOccurrenceFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerOccurrenceRecord>, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_deliveries_by_occurrence_id<'life0, 'life1, 'async_trait>(
&'life0 self,
occurrence_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerDeliveryReservation>, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_deliveries_by_subscription_id<'life0, 'life1, 'async_trait>(
&'life0 self,
subscription_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerDeliveryReservation>, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_deliveries_by_process_id<'life0, 'life1, 'async_trait>(
&'life0 self,
process_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerDeliveryReservation>, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sourcefn list_deliveries<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerDeliveryReservation>, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_deliveries<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<TriggerDeliveryReservation>, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
List every reserved delivery snapshot, including deliveries whose live subscription has since been updated or tombstoned. Recovery uses this direct delivery-table view to close the reserve/start crash window.
Sourcefn prune_mutation_receipts<'life0, 'async_trait>(
&'life0 self,
cutoff_epoch_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<usize, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn prune_mutation_receipts<'life0, 'async_trait>(
&'life0 self,
cutoff_epoch_ms: u64,
) -> Pin<Box<dyn Future<Output = Result<usize, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Drop mutation idempotency receipts older than the host’s established terminal-process retention cutoff. List operations never create these receipts.
Provided Methods§
fn durability_tier(&self) -> DurabilityTier
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".