Skip to main content

BillingTransactionCoordinator

Trait BillingTransactionCoordinator 

Source
pub trait BillingTransactionCoordinator: Send + Sync {
    // Required method
    fn begin<'life0, 'async_trait>(
        &'life0 self,
        subject: BillingEventSubject,
        lock_timeout: Duration,
    ) -> Pin<Box<dyn Future<Output = Result<Box<dyn BillingTransaction>, BillingTransactionError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Host-prepared transaction whose subject authorization lock is acquired before any shared billing lock.

Required Methods§

Source

fn begin<'life0, 'async_trait>( &'life0 self, subject: BillingEventSubject, lock_timeout: Duration, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn BillingTransaction>, BillingTransactionError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Begins a host transaction and locks the exact event subject before any shared billing row lock is acquired.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§