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

Required Methods§

source

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

source

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

source

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

source

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

Implementors§