#[non_exhaustive]pub struct Config {
pub http_keep_alive: bool,
pub tcp_no_delay: bool,
pub timeout: Option<Duration>,
pub max_connections_per_host: usize,
pub tls_config: Option<Arc<TlsConnector>>,
}
Expand description
Configuration for HttpClient
s.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.http_keep_alive: bool
HTTP/1.1 keep-alive
(connection pooling).
Default: true
.
Note: Does nothing on wasm_client
.
tcp_no_delay: bool
TCP NO_DELAY
.
Default: false
.
Note: Does nothing on wasm_client
.
timeout: Option<Duration>
Connection timeout duration.
Default: Some(Duration::from_secs(60))
.
max_connections_per_host: usize
Maximum number of simultaneous connections that this client is allowed to keep open to individual hosts at one time.
Default: 50
.
This number is based on a few random benchmarks and see whatever gave decent perf vs resource use in Orogene.
Note: The behavior of this is different depending on the backend in use.
h1_client
:0
is disallowed and asserts as otherwise it would cause a semaphore deadlock.curl_client
:0
allows for limitless connections per host.hyper_client
: No effect. Hyper does not support such an option.wasm_client
: No effect. Web browsers do not support such an option.
tls_config: Option<Arc<TlsConnector>>
h1_client
only.TLS Configuration (Native TLS)
Implementations§
Source§impl Config
impl Config
Sourcepub fn set_http_keep_alive(self, keep_alive: bool) -> Self
pub fn set_http_keep_alive(self, keep_alive: bool) -> Self
Set HTTP/1.1 keep-alive
(connection pooling).
Sourcepub fn set_tcp_no_delay(self, no_delay: bool) -> Self
pub fn set_tcp_no_delay(self, no_delay: bool) -> Self
Set TCP NO_DELAY
.
Sourcepub fn set_timeout(self, timeout: Option<Duration>) -> Self
pub fn set_timeout(self, timeout: Option<Duration>) -> Self
Set connection timeout duration.
Sourcepub fn set_max_connections_per_host(
self,
max_connections_per_host: usize,
) -> Self
pub fn set_max_connections_per_host( self, max_connections_per_host: usize, ) -> Self
Set the maximum number of simultaneous connections that this client is allowed to keep open to individual hosts at one time.
Sourcepub fn set_tls_config(self, tls_config: Option<Arc<TlsConnector>>) -> Self
Available on crate feature h1_client
only.
pub fn set_tls_config(self, tls_config: Option<Arc<TlsConnector>>) -> Self
h1_client
only.Set TLS Configuration (Native TLS)
Trait Implementations§
Source§impl TryFrom<Config> for HyperClient
Available on crate feature hyper_client
only.
impl TryFrom<Config> for HyperClient
hyper_client
only.