pub struct AnalysisRetryContext {
pub metadata: ImageMetadata,
pub image_data: Vec<u8>,
pub last_error: Option<String>,
pub retry_attempts: u32,
}Expand description
Context for tracking analysis retry state.
This allows users to retry analysis without reloading the image.
§Example
ⓘ
let mut context = AnalysisRetryContext::new(metadata, image_data);
match analyzer.analyze(&metadata, provider, &image_data).await {
Ok(result) => { /* use result */ },
Err(err) => {
context.record_failure(err.to_string());
// User can retry later with: analyzer.retry_analysis(context, provider).await
}
}Fields§
§metadata: ImageMetadataImage metadata
image_data: Vec<u8>Raw image data
last_error: Option<String>Last error encountered
retry_attempts: u32Number of retry attempts made
Implementations§
Source§impl AnalysisRetryContext
impl AnalysisRetryContext
Sourcepub fn new(metadata: ImageMetadata, image_data: Vec<u8>) -> Self
pub fn new(metadata: ImageMetadata, image_data: Vec<u8>) -> Self
Create a new retry context.
Sourcepub fn record_failure(&mut self, error: String)
pub fn record_failure(&mut self, error: String)
Record a failed analysis attempt.
Sourcepub fn get_error_message(&self) -> String
pub fn get_error_message(&self) -> String
Get actionable error message for user.
Trait Implementations§
Source§impl Clone for AnalysisRetryContext
impl Clone for AnalysisRetryContext
Source§fn clone(&self) -> AnalysisRetryContext
fn clone(&self) -> AnalysisRetryContext
Returns a duplicate of the value. Read more
1.0.0 · 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 Freeze for AnalysisRetryContext
impl RefUnwindSafe for AnalysisRetryContext
impl Send for AnalysisRetryContext
impl Sync for AnalysisRetryContext
impl Unpin for AnalysisRetryContext
impl UnwindSafe for AnalysisRetryContext
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more