#[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§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.