Config

Struct Config 

Source
pub struct Config {
Show 13 fields pub concurrency_limit_per_connection: Option<usize>, pub request_timeout: Option<Duration>, pub connect_timeout: Option<Duration>, pub http2_initial_stream_window_size: Option<u32>, pub http2_initial_connection_window_size: Option<u32>, pub http2_max_concurrent_streams: Option<u32>, pub tcp_keepalive: Option<Duration>, pub tcp_nodelay: Option<bool>, pub http2_keepalive_interval: Option<Duration>, pub http2_keepalive_timeout: Option<Duration>, pub load_shed: Option<bool>, pub rate_limit: Option<(u64, Duration)>, pub global_concurrency_limit: Option<usize>,
}

Fields§

§concurrency_limit_per_connection: Option<usize>

Set the concurrency limit applied to on requests inbound per connection.

§request_timeout: Option<Duration>

Set a timeout for all request handlers.

§connect_timeout: Option<Duration>

Set a timeout for establishing an outbound connection.

§http2_initial_stream_window_size: Option<u32>

Sets the SETTINGS_INITIAL_WINDOW_SIZE option for HTTP2 stream-level flow control. Default is 65,535

§http2_initial_connection_window_size: Option<u32>

Sets the max connection-level flow control for HTTP2

Default is 65,535

§http2_max_concurrent_streams: Option<u32>

Sets the SETTINGS_MAX_CONCURRENT_STREAMS option for HTTP2 connections.

Default is no limit (None).

§tcp_keepalive: Option<Duration>

Set whether TCP keepalive messages are enabled on accepted connections.

If None is specified, keepalive is disabled, otherwise the duration specified will be the time to remain idle before sending TCP keepalive probes.

Default is no keepalive (None)

§tcp_nodelay: Option<bool>

Set the value of TCP_NODELAY option for accepted connections. Enabled by default.

§http2_keepalive_interval: Option<Duration>

Set whether HTTP2 Ping frames are enabled on accepted connections.

If None is specified, HTTP2 keepalive is disabled, otherwise the duration specified will be the time interval between HTTP2 Ping frames. The timeout for receiving an acknowledgement of the keepalive ping can be set with http2_keepalive_timeout.

Default is no HTTP2 keepalive (None)

§http2_keepalive_timeout: Option<Duration>

Sets a timeout for receiving an acknowledgement of the keepalive ping.

If the ping is not acknowledged within the timeout, the connection will be closed. Does nothing if http2_keep_alive_interval is disabled.

Default is 20 seconds.

§load_shed: Option<bool>§rate_limit: Option<(u64, Duration)>

Only affects clients

§global_concurrency_limit: Option<usize>

Implementations§

Source§

impl Config

Source

pub fn new() -> Self

Source

pub fn server_builder(&self) -> ServerBuilder

Source

pub fn server_builder_with_metrics<M>( &self, metrics_provider: M, ) -> ServerBuilder<M>

Source

pub async fn connect(&self, addr: &Multiaddr) -> Result<Channel>

Source

pub fn connect_lazy(&self, addr: &Multiaddr) -> Result<Channel>

Trait Implementations§

Source§

impl Debug for Config

Source§

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

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

impl Default for Config

Source§

fn default() -> Config

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

impl<'de> Deserialize<'de> for Config

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Config

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

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> 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<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

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

Source§

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>,

Source§

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
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,