Skip to main content

ConnectionScopeProvider

Trait ConnectionScopeProvider 

Source
pub trait ConnectionScopeProvider: Send + Sync {
    // Required method
    fn scope_settings<'life0, 'life1, 'async_trait>(
        &'life0 self,
        scope: &'life1 RequestScope,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<ScopeSetting>, ScopeError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Translates a RequestScope into transaction-local settings.

#[async_trait]: consumed as Arc<dyn ConnectionScopeProvider> collected from the inventory registry, so the trait must be dyn-compatible.

Required Methods§

Source

fn scope_settings<'life0, 'life1, 'async_trait>( &'life0 self, scope: &'life1 RequestScope, ) -> Pin<Box<dyn Future<Output = Result<Vec<ScopeSetting>, ScopeError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Settings to apply after BEGIN on a scoped transaction. Return an empty vec when the scope carries nothing this provider handles.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§