#[non_exhaustive]
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord)]
pub struct Config {
pub keep_data_on_failed_write: bool,
pub error_propagation_on_no_retry: ErrorPropagation,
}
impl Config {
pub fn set_keep_data_on_failed_write(mut self, value: bool) -> Self {
self.keep_data_on_failed_write = value;
self
}
pub fn set_error_propagation_on_no_retry(mut self, value: ErrorPropagation) -> Self {
self.error_propagation_on_no_retry = value;
self
}
}
impl Default for Config {
fn default() -> Self {
Self {
keep_data_on_failed_write: true,
error_propagation_on_no_retry: ErrorPropagation::IoOperations,
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum ErrorPropagation {
None,
IoOperations,
All,
}