use crate::proto::CommandRetryOptions;
use super::types::RetryConfig;
pub(crate) fn command_retry_options(timeout_ms: Option<u32>) -> Option<CommandRetryOptions> {
timeout_ms.map(|timeout_ms| CommandRetryOptions {
timeout_ms: Some(timeout_ms),
retry_interval_ms: None,
})
}
pub(crate) fn merge_retry_config(
base: Option<RetryConfig>,
override_config: Option<RetryConfig>,
) -> RetryConfig {
let mut merged = base.unwrap_or_default();
if let Some(override_config) = override_config {
if override_config.timeout_ms.is_some() {
merged.timeout_ms = override_config.timeout_ms;
}
if override_config.interval_ms.is_some() {
merged.interval_ms = override_config.interval_ms;
}
}
merged
}