pub struct UnifiedErrorHandler { /* private fields */ }Expand description
Comprehensive error handling and recovery system
Implementations§
Source§impl UnifiedErrorHandler
impl UnifiedErrorHandler
Sourcepub fn unify_error(
&mut self,
provider: &str,
error: DeviceError,
request_id: Option<String>,
) -> UnifiedDeviceError
pub fn unify_error( &mut self, provider: &str, error: DeviceError, request_id: Option<String>, ) -> UnifiedDeviceError
Convert a provider-specific error to a unified error
Sourcepub async fn execute_with_retry<F, T, E>(
&mut self,
operation: F,
category: ErrorCategory,
) -> Result<T, UnifiedDeviceError>
pub async fn execute_with_retry<F, T, E>( &mut self, operation: F, category: ErrorCategory, ) -> Result<T, UnifiedDeviceError>
Execute an operation with automatic retry and error handling
Sourcepub fn get_error_statistics(&self) -> &HashMap<ErrorCategory, u64>
pub fn get_error_statistics(&self) -> &HashMap<ErrorCategory, u64>
Get error statistics for monitoring and alerting
Sourcepub fn clear_statistics(&mut self)
pub fn clear_statistics(&mut self)
Clear error statistics
Sourcepub fn set_retry_config(
&mut self,
category: ErrorCategory,
config: UnifiedRetryConfig,
)
pub fn set_retry_config( &mut self, category: ErrorCategory, config: UnifiedRetryConfig, )
Set custom retry configuration for a specific error category
Sourcepub fn add_error_mapping(
&mut self,
provider: &str,
error_code: &str,
category: ErrorCategory,
)
pub fn add_error_mapping( &mut self, provider: &str, error_code: &str, category: ErrorCategory, )
Add provider-specific error mapping
Sourcepub fn set_fallback_chain(
&mut self,
primary_provider: &str,
fallbacks: Vec<String>,
)
pub fn set_fallback_chain( &mut self, primary_provider: &str, fallbacks: Vec<String>, )
Set fallback provider chain
Trait Implementations§
Auto Trait Implementations§
impl Freeze for UnifiedErrorHandler
impl RefUnwindSafe for UnifiedErrorHandler
impl Send for UnifiedErrorHandler
impl Sync for UnifiedErrorHandler
impl Unpin for UnifiedErrorHandler
impl UnwindSafe for UnifiedErrorHandler
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.