pub trait Engine: Clone {
// Required methods
fn init<K: Into<String>>(
&self,
key: K,
consumer_id: Uuid
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + '_>>;
fn get_subscription<K: Into<String>>(
&self,
key: K
) -> Pin<Box<dyn Future<Output = Result<Subscription, StoreError>> + Send + '_>>;
fn update_subscription(
&self,
subscription: Subscription
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + '_>>;
fn add_deadletter(
&self,
events: Vec<Event>
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + '_>>;
fn read_deadletters(
&self,
first: usize,
after: Option<Uuid>
) -> Pin<Box<dyn Future<Output = Result<Vec<Event>, StoreError>> + Send + '_>>;
}Required Methods§
fn init<K: Into<String>>( &self, key: K, consumer_id: Uuid ) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + '_>>
fn get_subscription<K: Into<String>>( &self, key: K ) -> Pin<Box<dyn Future<Output = Result<Subscription, StoreError>> + Send + '_>>
fn update_subscription( &self, subscription: Subscription ) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + '_>>
fn add_deadletter( &self, events: Vec<Event> ) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + '_>>
fn read_deadletters( &self, first: usize, after: Option<Uuid> ) -> Pin<Box<dyn Future<Output = Result<Vec<Event>, StoreError>> + Send + '_>>
Object Safety§
This trait is not object safe.