scylla/policies/retry/
fallthrough.rs

1use super::{RequestInfo, RetryDecision, RetryPolicy, RetrySession};
2
3/// Forwards all errors directly to the user, never retries
4#[derive(Debug)]
5pub struct FallthroughRetryPolicy;
6pub struct FallthroughRetrySession;
7
8impl FallthroughRetryPolicy {
9    pub fn new() -> FallthroughRetryPolicy {
10        FallthroughRetryPolicy
11    }
12}
13
14impl Default for FallthroughRetryPolicy {
15    fn default() -> FallthroughRetryPolicy {
16        FallthroughRetryPolicy
17    }
18}
19
20impl RetryPolicy for FallthroughRetryPolicy {
21    fn new_session(&self) -> Box<dyn RetrySession> {
22        Box::new(FallthroughRetrySession)
23    }
24}
25
26impl RetrySession for FallthroughRetrySession {
27    fn decide_should_retry(&mut self, _query_info: RequestInfo) -> RetryDecision {
28        RetryDecision::DontRetry
29    }
30
31    fn reset(&mut self) {}
32}