pub struct RetryConfig {
pub max_attempts: u8,
pub initial_backoff_ms: u64,
pub max_backoff_ms: u64,
pub reduce_chunk_on_retry: bool,
pub min_sectors_per_read: u32,
}Expand description
Retry policy for idempotent read operations.
The policy is applied per failed read chunk/command and can combine capped exponential backoff with adaptive chunk-size reduction.
Fields§
§max_attempts: u8Maximum attempts per operation, including the initial attempt. By default the value is 4.
Values below 1 are normalized by callers to at least one attempt.
initial_backoff_ms: u64Initial backoff delay in milliseconds before the second attempt. First attempt is always immediate, so if there are no issues during reading, we don’t wait any time.
max_backoff_ms: u64Upper bound for exponential backoff delay in milliseconds.
Each retry typically doubles the previous delay until this cap is reached.
reduce_chunk_on_retry: boolEnable adaptive sector-count reduction on retry for READ CD operations.
Current implementation reduces chunk size from large reads toward smaller
reads (for example 27 -> 8 -> 1) to have a higher change of success.
min_sectors_per_read: u32Minimum sectors per READ CD command when adaptive reduction is enabled.
Default value is 27 for 64KB per read.
Use 1 for maximal fault isolation; larger values can improve throughput.
Trait Implementations§
Source§impl Clone for RetryConfig
impl Clone for RetryConfig
Source§fn clone(&self) -> RetryConfig
fn clone(&self) -> RetryConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more