#[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 moreSource§impl Debug for TimeoutConfigBuilder
impl Debug for TimeoutConfigBuilder
Source§impl Default for TimeoutConfigBuilder
impl Default for TimeoutConfigBuilder
Source§fn default() -> TimeoutConfigBuilder
fn default() -> TimeoutConfigBuilder
Source§impl From<TimeoutConfig> for TimeoutConfigBuilder
impl From<TimeoutConfig> for TimeoutConfigBuilder
Source§fn from(timeout_config: TimeoutConfig) -> TimeoutConfigBuilder
fn from(timeout_config: TimeoutConfig) -> TimeoutConfigBuilder
Auto Trait Implementations§
impl Freeze for TimeoutConfigBuilder
impl RefUnwindSafe for TimeoutConfigBuilder
impl Send for TimeoutConfigBuilder
impl Sync for TimeoutConfigBuilder
impl Unpin for TimeoutConfigBuilder
impl UnwindSafe for TimeoutConfigBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)