Struct bonsaidb::keystorage::s3::aws_sdk_s3::config::timeout::TimeoutConfigBuilder
#[non_exhaustive]pub struct TimeoutConfigBuilder { /* private fields */ }
Expand description
Builder for TimeoutConfig
.
Implementations§
§impl TimeoutConfigBuilder
impl TimeoutConfigBuilder
pub fn new() -> TimeoutConfigBuilder
pub fn new() -> TimeoutConfigBuilder
Creates a new builder with no timeouts set.
pub fn connect_timeout(self, connect_timeout: Duration) -> TimeoutConfigBuilder
pub fn connect_timeout(self, connect_timeout: Duration) -> TimeoutConfigBuilder
Sets the connect timeout.
The connect timeout is a limit on the amount of time it takes to initiate a socket connection.
pub fn set_connect_timeout(
&mut self,
connect_timeout: Option<Duration>
) -> &mut TimeoutConfigBuilder
pub fn set_connect_timeout( &mut self, connect_timeout: Option<Duration> ) -> &mut TimeoutConfigBuilder
Sets the connect timeout.
The connect timeout is a limit on the amount of time it takes to initiate a socket connection.
pub fn read_timeout(self, read_timeout: Duration) -> TimeoutConfigBuilder
pub fn read_timeout(self, read_timeout: Duration) -> TimeoutConfigBuilder
Sets the read timeout.
The read timeout is the limit on the amount of time it takes to read the first byte of a response from the time the request is initiated.
pub fn set_read_timeout(
&mut self,
read_timeout: Option<Duration>
) -> &mut TimeoutConfigBuilder
pub fn set_read_timeout( &mut self, read_timeout: Option<Duration> ) -> &mut TimeoutConfigBuilder
Sets the read timeout.
The read timeout is the limit on the amount of time it takes to read the first byte of a response from the time the request is initiated.
pub fn operation_timeout(
self,
operation_timeout: Duration
) -> TimeoutConfigBuilder
pub fn operation_timeout( self, operation_timeout: Duration ) -> TimeoutConfigBuilder
Sets the operation timeout.
An operation represents the full request/response lifecycle of a call to a service. The operation timeout is a limit on the total amount of time it takes for an operation to be fully serviced, including the time for all retries that may have been attempted for it.
If you want to set a timeout on individual retry attempts, then see Self::operation_attempt_timeout
or Self::set_operation_attempt_timeout
.
pub fn set_operation_timeout(
&mut self,
operation_timeout: Option<Duration>
) -> &mut TimeoutConfigBuilder
pub fn set_operation_timeout( &mut self, operation_timeout: Option<Duration> ) -> &mut TimeoutConfigBuilder
Sets the operation timeout.
An operation represents the full request/response lifecycle of a call to a service. The operation timeout is a limit on the total amount of time it takes for an operation to be fully serviced, including the time for all retries that may have been attempted for it.
If you want to set a timeout on individual retry attempts, then see Self::operation_attempt_timeout
or Self::set_operation_attempt_timeout
.
pub fn operation_attempt_timeout(
self,
operation_attempt_timeout: Duration
) -> TimeoutConfigBuilder
pub fn operation_attempt_timeout( self, operation_attempt_timeout: Duration ) -> TimeoutConfigBuilder
Sets the operation attempt timeout.
An operation represents the full request/response lifecycle of a call to a service. When retries are enabled, then this setting makes it possible to set a timeout for individual retry attempts (including the initial attempt) for an operation.
If you want to set a timeout on the total time for an entire request including all of its retries,
then see Self::operation_timeout
/// or Self::set_operation_timeout
.
pub fn set_operation_attempt_timeout(
&mut self,
operation_attempt_timeout: Option<Duration>
) -> &mut TimeoutConfigBuilder
pub fn set_operation_attempt_timeout( &mut self, operation_attempt_timeout: Option<Duration> ) -> &mut TimeoutConfigBuilder
Sets the operation attempt timeout.
An operation represents the full request/response lifecycle of a call to a service. When retries are enabled, then this setting makes it possible to set a timeout for individual retry attempts (including the initial attempt) for an operation.
If you want to set a timeout on individual retry attempts, then see Self::operation_attempt_timeout
or Self::set_operation_attempt_timeout
.
pub fn take_unset_from(
self,
other: TimeoutConfigBuilder
) -> TimeoutConfigBuilder
pub fn take_unset_from( self, other: TimeoutConfigBuilder ) -> TimeoutConfigBuilder
Merges two timeout config 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 = TimeoutConfig::builder()
.connect_timeout(Duration::from_secs(3));
let b = TimeoutConfig::builder()
.connect_timeout(Duration::from_secs(5))
.operation_timeout(Duration::from_secs(3));
let timeout_config = a.take_unset_from(b).build();
// A's value take precedence over B's value
assert_eq!(timeout_config.connect_timeout(), Some(Duration::from_secs(3)));
// A never set an operation timeout so B's value is used
assert_eq!(timeout_config.operation_timeout(), Some(Duration::from_secs(3)));
pub fn build(self) -> TimeoutConfig
pub fn build(self) -> TimeoutConfig
Builds a TimeoutConfig
.
Trait Implementations§
§impl Clone for TimeoutConfigBuilder
impl Clone for TimeoutConfigBuilder
§fn clone(&self) -> TimeoutConfigBuilder
fn clone(&self) -> TimeoutConfigBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more