openlimits_messaging/subscriber.rs
1use async_trait::async_trait;
2
3use std::pin::Pin;
4use futures::stream::Stream;
5
6pub type Subscription<T> = Pin<Box<dyn Stream<Item = T>>>;
7
8#[async_trait]
9pub trait Subscriber {
10 type SubscriptionRequest;
11 type Publication;
12 type Error;
13 async fn subscribe(&mut self, subscription: &Self::SubscriptionRequest) -> Result<Subscription<Self::Publication>, Self::Error>;
14}