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§
Sourcefn on_change(&self, event: ChangeEvent)
fn on_change(&self, event: ChangeEvent)
Called for each change event.
Provided Methods§
Sourcefn on_error(&self, error: PushSubscriptionError)
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!.
Sourcefn on_complete(&self)
fn on_complete(&self)
Called when the subscription is closed (source dropped or cancelled).
Default implementation is a no-op.