Trait ruva::TUnitOfWork

source ·
pub trait TUnitOfWork: Send + Sync {
    // Required methods
    fn begin(&mut self) -> impl Future<Output = Result<(), BaseError>> + Send;
    fn _commit(&mut self) -> impl Future<Output = Result<(), BaseError>> + Send;
    fn rollback(&mut self) -> impl Future<Output = Result<(), BaseError>> + Send;
    fn close(&mut self) -> impl Future<Output = ()> + Send;

    // Provided methods
    fn commit(&mut self) -> impl Future<Output = Result<(), BaseError>> + Send { ... }
    fn process_internal_events(
        &mut self,
    ) -> impl Future<Output = Result<(), BaseError>> + Send { ... }
    fn process_external_events(
        &mut self,
    ) -> impl Future<Output = Result<(), BaseError>> + Send { ... }
}
Expand description

Template for Unit of Work Concrete implementation must implement _commit method If you want to add hooks on events, you can implement process_internal_events and process_external_events

Required Methods§

source

fn begin(&mut self) -> impl Future<Output = Result<(), BaseError>> + Send

source

fn _commit(&mut self) -> impl Future<Output = Result<(), BaseError>> + Send

source

fn rollback(&mut self) -> impl Future<Output = Result<(), BaseError>> + Send

source

fn close(&mut self) -> impl Future<Output = ()> + Send

Provided Methods§

source

fn commit(&mut self) -> impl Future<Output = Result<(), BaseError>> + Send

source

fn process_internal_events( &mut self, ) -> impl Future<Output = Result<(), BaseError>> + Send

source

fn process_external_events( &mut self, ) -> impl Future<Output = Result<(), BaseError>> + Send

Object Safety§

This trait is not object safe.

Implementors§