pub struct ProviderComponents {
pub provider: Box<dyn Provider>,
pub model_policy: Arc<dyn ProviderModelPolicy>,
pub failure_classifier: Arc<dyn ProviderFailureClassifier>,
pub rate_limiter: Arc<ProviderRateLimiter>,
}Expand description
Component bundle returned by provider factories.
Fields§
§provider: Box<dyn Provider>§model_policy: Arc<dyn ProviderModelPolicy>§failure_classifier: Arc<dyn ProviderFailureClassifier>§rate_limiter: Arc<ProviderRateLimiter>Implementations§
Source§impl ProviderComponents
impl ProviderComponents
pub fn new( provider: Box<dyn Provider>, model_policy: Arc<dyn ProviderModelPolicy>, ) -> ProviderComponents
Sourcepub fn map_provider(
self,
map: impl FnOnce(Box<dyn Provider>) -> Box<dyn Provider>,
) -> ProviderComponents
pub fn map_provider( self, map: impl FnOnce(Box<dyn Provider>) -> Box<dyn Provider>, ) -> ProviderComponents
Install a transport-level decorator that wraps the provider.
pub fn with_failure_classifier( self, classifier: Arc<dyn ProviderFailureClassifier>, ) -> ProviderComponents
pub fn with_clock(self, clock: Arc<dyn Clock>) -> ProviderComponents
Trait Implementations§
Source§impl Clone for ProviderComponents
impl Clone for ProviderComponents
Source§fn clone(&self) -> ProviderComponents
fn clone(&self) -> ProviderComponents
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ProviderComponents
impl !UnwindSafe for ProviderComponents
impl Freeze for ProviderComponents
impl Send for ProviderComponents
impl Sync for ProviderComponents
impl Unpin for ProviderComponents
impl UnsafeUnpin for ProviderComponents
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more