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§
Sourcefn 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,
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".