#[non_exhaustive]
pub struct TimeoutConfigBuilder { /* private fields */ }
Expand description

Builder for TimeoutConfig.

Implementations§

source§

impl TimeoutConfigBuilder

source

pub fn new() -> TimeoutConfigBuilder

Creates a new builder with no timeouts set.

source

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.

source

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.

source

pub fn disable_connect_timeout(self) -> TimeoutConfigBuilder

Disables the connect timeout

source

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.

source

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.

source

pub fn disable_read_timeout(self) -> TimeoutConfigBuilder

Disables the read timeout

source

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.

source

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.

source

pub fn disable_operation_timeout(self) -> TimeoutConfigBuilder

Disables the operation timeout

source

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.

source

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.

source

pub fn disable_operation_attempt_timeout(self) -> TimeoutConfigBuilder

Disables the operation_attempt timeout

source

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)));
source

pub fn build(self) -> TimeoutConfig

Builds a TimeoutConfig.

Trait Implementations§

source§

impl Clone for TimeoutConfigBuilder

source§

fn clone(&self) -> TimeoutConfigBuilder

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TimeoutConfigBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Default for TimeoutConfigBuilder

source§

fn default() -> TimeoutConfigBuilder

Returns the “default value” for a type. Read more
source§

impl From<TimeoutConfig> for TimeoutConfigBuilder

source§

fn from(timeout_config: TimeoutConfig) -> TimeoutConfigBuilder

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more