pub trait IOutBox<E: Executor> {
    // Required methods
    fn new(aggregate_id: String, topic: String, state: String) -> Self;
    fn add<'async_trait>(
        executor: Arc<RwLock<E>>,
        outboxes: Vec<OutBox>
    ) -> Pin<Box<dyn Future<Output = Result<(), BaseError>> + Send + 'async_trait>>;
    fn get<'async_trait>(
        executor: Arc<RwLock<E>>
    ) -> Pin<Box<dyn Future<Output = Result<Vec<OutBox>, BaseError>> + Send + 'async_trait>>;
    fn update<'life0, 'async_trait>(
        &'life0 self,
        executor: Arc<RwLock<E>>
    ) -> Pin<Box<dyn Future<Output = Result<(), BaseError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}

Required Methods§

source

fn new(aggregate_id: String, topic: String, state: String) -> Self

source

fn add<'async_trait>( executor: Arc<RwLock<E>>, outboxes: Vec<OutBox> ) -> Pin<Box<dyn Future<Output = Result<(), BaseError>> + Send + 'async_trait>>

source

fn get<'async_trait>( executor: Arc<RwLock<E>> ) -> Pin<Box<dyn Future<Output = Result<Vec<OutBox>, BaseError>> + Send + 'async_trait>>

source

fn update<'life0, 'async_trait>( &'life0 self, executor: Arc<RwLock<E>> ) -> Pin<Box<dyn Future<Output = Result<(), BaseError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Implementors§