Skip to main content

SubscriptionService

Trait SubscriptionService 

Source
pub trait SubscriptionService: Send + Sync {
    // Required methods
    fn next_id(&self) -> SubscriptionId;
    fn register_subscription(
        &self,
        id: SubscriptionId,
        flow_dag: FlowDag,
        column_names: Vec<String>,
        txn: &mut Transaction<'_>,
    ) -> Result<()>;
    fn unregister_subscription(&self, id: &SubscriptionId) -> Result<()>;
}
Expand description

Service interface for managing ephemeral subscriptions.

Implemented by reifydb-sub-subscription and registered in IoC as Arc<dyn SubscriptionService>. The engine’s DDL code resolves this to create and drop subscriptions.

Required Methods§

Source

fn next_id(&self) -> SubscriptionId

Generate a new unique subscription ID.

Source

fn register_subscription( &self, id: SubscriptionId, flow_dag: FlowDag, column_names: Vec<String>, txn: &mut Transaction<'_>, ) -> Result<()>

Register a subscription with a pre-compiled flow DAG.

Source

fn unregister_subscription(&self, id: &SubscriptionId) -> Result<()>

Unregister a subscription.

Implementors§