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

Builder for TimeoutConfig.

Implementations§

source§

impl TimeoutConfigBuilder

source

pub fn new() -> Self

Creates a new builder with no timeouts set.

source

pub fn connect_timeout(self, connect_timeout: Duration) -> Self

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 Self

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 read_timeout(self, read_timeout: Duration) -> Self

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 Self

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 operation_timeout(self, operation_timeout: Duration) -> Self

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 Self

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 operation_attempt_timeout( self, operation_attempt_timeout: Duration ) -> Self

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 Self

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.

source

pub fn take_unset_from(self, other: Self) -> Self

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

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) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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<T> ToOwned for Twhere 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.