Struct bonsaidb::keystorage::s3::aws_sdk_s3::config::retry::RetryConfigBuilder
#[non_exhaustive]pub struct RetryConfigBuilder { /* private fields */ }
Expand description
Builder for RetryConfig
.
Implementations§
§impl RetryConfigBuilder
impl RetryConfigBuilder
pub fn new() -> RetryConfigBuilder
pub fn new() -> RetryConfigBuilder
Creates a new builder.
pub fn set_mode(
&mut self,
retry_mode: Option<RetryMode>
) -> &mut RetryConfigBuilder
pub fn set_mode( &mut self, retry_mode: Option<RetryMode> ) -> &mut RetryConfigBuilder
Sets the retry mode.
pub fn mode(self, mode: RetryMode) -> RetryConfigBuilder
pub fn mode(self, mode: RetryMode) -> RetryConfigBuilder
Sets the retry mode.
pub fn reconnect_mode(self, reconnect_mode: ReconnectMode) -> RetryConfigBuilder
pub fn reconnect_mode(self, reconnect_mode: ReconnectMode) -> RetryConfigBuilder
Set the ReconnectMode
for the retry strategy
By default, when a transient error is encountered, the connection in use will be poisoned. This prevents reusing a connection to a potentially bad host but may increase the load on the server.
This behavior can be disabled by setting ReconnectMode::ReuseAllConnections
instead.
pub fn set_reconnect_mode(
&mut self,
reconnect_mode: Option<ReconnectMode>
) -> &mut RetryConfigBuilder
pub fn set_reconnect_mode( &mut self, reconnect_mode: Option<ReconnectMode> ) -> &mut RetryConfigBuilder
Set the ReconnectMode
for the retry strategy
By default, when a transient error is encountered, the connection in use will be poisoned. This prevents reusing a connection to a potentially bad host but may increase the load on the server.
This behavior can be disabled by setting ReconnectMode::ReuseAllConnections
instead.
pub fn set_max_attempts(
&mut self,
max_attempts: Option<u32>
) -> &mut RetryConfigBuilder
pub fn set_max_attempts( &mut self, max_attempts: Option<u32> ) -> &mut RetryConfigBuilder
Sets the max attempts. This value must be greater than zero.
pub fn max_attempts(self, max_attempts: u32) -> RetryConfigBuilder
pub fn max_attempts(self, max_attempts: u32) -> RetryConfigBuilder
Sets the max attempts. This value must be greater than zero.
pub fn set_initial_backoff(
&mut self,
initial_backoff: Option<Duration>
) -> &mut RetryConfigBuilder
pub fn set_initial_backoff( &mut self, initial_backoff: Option<Duration> ) -> &mut RetryConfigBuilder
Set the initial_backoff duration. This duration should be non-zero.
pub fn initial_backoff(self, initial_backoff: Duration) -> RetryConfigBuilder
pub fn initial_backoff(self, initial_backoff: Duration) -> RetryConfigBuilder
Set the initial_backoff duration. This duration should be non-zero.
pub fn set_max_backoff(
&mut self,
max_backoff: Option<Duration>
) -> &mut RetryConfigBuilder
pub fn set_max_backoff( &mut self, max_backoff: Option<Duration> ) -> &mut RetryConfigBuilder
Set the max_backoff duration. This duration should be non-zero.
pub fn max_backoff(self, max_backoff: Duration) -> RetryConfigBuilder
pub fn max_backoff(self, max_backoff: Duration) -> RetryConfigBuilder
Set the max_backoff duration. This duration should be non-zero.
pub fn take_unset_from(self, other: RetryConfigBuilder) -> RetryConfigBuilder
pub fn take_unset_from(self, other: RetryConfigBuilder) -> RetryConfigBuilder
Merge two builders together. Values from other
will only be used as a fallback for values
from self
Useful for merging configs from different sources together when you want to
handle “precedence” per value instead of at the config level
Example
let a = RetryConfigBuilder::new().max_attempts(1);
let b = RetryConfigBuilder::new().max_attempts(5).mode(RetryMode::Adaptive);
let retry_config = a.take_unset_from(b).build();
// A's value take precedence over B's value
assert_eq!(retry_config.max_attempts(), 1);
// A never set a retry mode so B's value was used
assert_eq!(retry_config.mode(), RetryMode::Adaptive);
pub fn build(self) -> RetryConfig
pub fn build(self) -> RetryConfig
Builds a RetryConfig
.
Trait Implementations§
§impl Clone for RetryConfigBuilder
impl Clone for RetryConfigBuilder
§fn clone(&self) -> RetryConfigBuilder
fn clone(&self) -> RetryConfigBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for RetryConfigBuilder
impl Debug for RetryConfigBuilder
§impl Default for RetryConfigBuilder
impl Default for RetryConfigBuilder
§fn default() -> RetryConfigBuilder
fn default() -> RetryConfigBuilder
§impl PartialEq for RetryConfigBuilder
impl PartialEq for RetryConfigBuilder
§fn eq(&self, other: &RetryConfigBuilder) -> bool
fn eq(&self, other: &RetryConfigBuilder) -> bool
self
and other
values to be equal, and is used
by ==
.