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
impl Config
pub fn new() -> Self
pub fn server_builder(&self) -> ServerBuilder
pub fn server_builder_with_metrics<M>(
&self,
metrics_provider: M,
) -> ServerBuilder<M>where
M: MetricsCallbackProvider,
pub async fn connect(&self, addr: &Multiaddr) -> Result<Channel>
pub fn connect_lazy(&self, addr: &Multiaddr) -> Result<Channel>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
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> 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> 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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request