Struct aws_config::timeout::TimeoutConfigBuilder
source · #[non_exhaustive]pub struct TimeoutConfigBuilder { /* private fields */ }
Expand description
Builder for TimeoutConfig
.
Implementations§
source§impl TimeoutConfigBuilder
impl TimeoutConfigBuilder
sourcepub fn new() -> TimeoutConfigBuilder
pub fn new() -> TimeoutConfigBuilder
Creates a new builder with no timeouts set.
sourcepub 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.
sourcepub 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.
If None
is passed, this will explicitly disable the connection timeout.
The connect timeout is a limit on the amount of time it takes to initiate a socket connection.
sourcepub fn disable_connect_timeout(self) -> TimeoutConfigBuilder
pub fn disable_connect_timeout(self) -> TimeoutConfigBuilder
Disables the connect timeout
sourcepub 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.
sourcepub 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.
If None
is passed, this will explicitly disable the read timeout. To disable all timeouts use TimeoutConfig::disabled
.
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.
sourcepub fn disable_read_timeout(self) -> TimeoutConfigBuilder
pub fn disable_read_timeout(self) -> TimeoutConfigBuilder
Disables the read timeout
sourcepub 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
.
sourcepub 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.
If None
is passed, this will explicitly disable the read timeout. To disable all timeouts use TimeoutConfig::disabled
.
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
.
sourcepub fn disable_operation_timeout(self) -> TimeoutConfigBuilder
pub fn disable_operation_timeout(self) -> TimeoutConfigBuilder
Disables the operation timeout
sourcepub 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
.
sourcepub 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.
If None
is passed, this will explicitly disable the operation timeout. To disable all timeouts use TimeoutConfig::disabled
.
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
.
sourcepub fn disable_operation_attempt_timeout(self) -> TimeoutConfigBuilder
pub fn disable_operation_attempt_timeout(self) -> TimeoutConfigBuilder
Disables the operation_attempt timeout
sourcepub 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)));
sourcepub fn build(self) -> TimeoutConfig
pub fn build(self) -> TimeoutConfig
Builds a TimeoutConfig
.
Trait Implementations§
source§impl Clone for TimeoutConfigBuilder
impl Clone for TimeoutConfigBuilder
source§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