pub struct TimeoutConfigBuilder { /* private fields */ }
Expand description

Builder for TimeoutConfig.

Implementations§

§

impl TimeoutConfigBuilder

pub fn new() -> TimeoutConfigBuilder

Creates a new builder with no timeouts set.

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.

pub fn set_connect_timeout( &mut self, connect_timeout: Option<Duration> ) -> &mut TimeoutConfigBuilder

Sets the connect timeout.

The connect timeout is a limit on the amount of time it takes to initiate a socket connection.

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.

pub fn set_read_timeout( &mut self, read_timeout: Option<Duration> ) -> &mut 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.

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.

pub fn set_operation_timeout( &mut self, operation_timeout: Option<Duration> ) -> &mut 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.

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.

pub fn set_operation_attempt_timeout( &mut self, operation_attempt_timeout: Option<Duration> ) -> &mut 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 individual retry attempts, then see Self::operation_attempt_timeout or Self::set_operation_attempt_timeout.

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

pub fn build(self) -> TimeoutConfig

Builds a TimeoutConfig.

Trait Implementations§

§

impl Clone for TimeoutConfigBuilder

§

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
§

impl Debug for TimeoutConfigBuilder

§

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

Formats the value using the given formatter. Read more
§

impl Default for TimeoutConfigBuilder

§

fn default() -> TimeoutConfigBuilder

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

impl From<TimeoutConfig> for TimeoutConfigBuilder

§

fn from(timeout_config: TimeoutConfig) -> TimeoutConfigBuilder

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
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32 ) -> TaggedParser<'a, Implicit, Self, E>

source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. 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 Twhere 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<T> Same<T> for T

§

type Output = T

Should always be Self
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.
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.
source§

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

Performs the conversion.
§

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

§

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