#[must_use]
pub fn should_retry_after_reconnect(
auto_reconnect: bool,
transport_dropped: bool,
safe_to_retry: bool,
) -> bool {
auto_reconnect && transport_dropped && safe_to_retry
}
#[cfg(test)]
mod tests {
use super::should_retry_after_reconnect as should_retry;
#[test]
fn financial_command_is_never_retried() {
assert!(!should_retry(true, true, false));
assert!(!should_retry(false, true, false));
assert!(!should_retry(true, false, false));
assert!(!should_retry(false, false, false));
}
#[test]
fn safe_command_retried_only_on_reconnect_after_drop() {
assert!(should_retry(true, true, true));
assert!(!should_retry(false, true, true));
assert!(!should_retry(true, false, true));
assert!(!should_retry(false, false, true));
}
}