Skip to main content

SubscriptionCallback

Trait SubscriptionCallback 

Source
pub trait SubscriptionCallback:
    Send
    + Sync
    + 'static {
    // Required method
    fn on_change(&self, event: ChangeEvent);

    // Provided methods
    fn on_error(&self, error: PushSubscriptionError) { ... }
    fn on_complete(&self) { ... }
}
Expand description

Callback trait for push-based subscriptions.

Implement this trait to receive change events via callback. The callback runs on a dedicated tokio task and is invoked for every event pushed by the Ring 1 dispatcher.

§Example

struct MyHandler;

impl SubscriptionCallback for MyHandler {
    fn on_change(&self, event: ChangeEvent) {
        match event {
            ChangeEvent::Insert { data, .. } => println!("{} rows", data.num_rows()),
            _ => {}
        }
    }
}

Required Methods§

Source

fn on_change(&self, event: ChangeEvent)

Called for each change event.

Provided Methods§

Source

fn on_error(&self, error: PushSubscriptionError)

Called when an error occurs (e.g., lagged behind, internal error).

Default implementation logs the error via tracing::warn!.

Source

fn on_complete(&self)

Called when the subscription is closed (source dropped or cancelled).

Default implementation is a no-op.

Implementors§