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}