1 2 3 4 5 6 7 8 9 10 11
use async_trait::async_trait; #[async_trait] pub trait CompletionHandler { type Message; type CompletedEvent; async fn mark_complete(&self, msg: Self::Message, completed_event: Self::CompletedEvent); async fn ack_message(&self, msg: Self::Message); async fn ack_all(&self, notify: Option<tokio::sync::oneshot::Sender<()>>); }