Skip to main content

TriggerStore

Trait TriggerStore 

Source
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§

Source

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,

Source

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,

Source

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,

Source

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,

Source

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,

Source

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,

Source

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,

Source

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,

Source

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.

Source

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§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§