pub struct Builder<Ex> { /* private fields */ }client and (crate features http1 or http2) only.Expand description
A builder to configure an HTTP connection.
After setting options, the builder is used to create a handshake future.
Note: The default values of options are not considered stable. They are subject to change at any time.
Implementations§
Source§impl<Ex> Builder<Ex>where
Ex: Clone,
impl<Ex> Builder<Ex>where
Ex: Clone,
Sourcepub fn timer<M>(&mut self, timer: M) -> &mut Builder<Ex>
pub fn timer<M>(&mut self, timer: M) -> &mut Builder<Ex>
Provide a timer to execute background HTTP2 tasks.
Sourcepub fn initial_stream_window_size(
&mut self,
sz: impl Into<Option<u32>>,
) -> &mut Self
pub fn initial_stream_window_size( &mut self, sz: impl Into<Option<u32>>, ) -> &mut Self
Sets the SETTINGS_INITIAL_WINDOW_SIZE option for HTTP2
stream-level flow control.
Passing None will do nothing.
If not set, hyper will use a default.
Sourcepub fn initial_connection_window_size(
&mut self,
sz: impl Into<Option<u32>>,
) -> &mut Self
pub fn initial_connection_window_size( &mut self, sz: impl Into<Option<u32>>, ) -> &mut Self
Sets the max connection-level flow control for HTTP2
Passing None will do nothing.
If not set, hyper will use a default.
Sourcepub fn adaptive_window(&mut self, enabled: bool) -> &mut Self
pub fn adaptive_window(&mut self, enabled: bool) -> &mut Self
Sets whether to use an adaptive flow control.
Enabling this will override the limits set in
initial_stream_window_size and
initial_connection_window_size.
Sourcepub fn max_frame_size(&mut self, sz: impl Into<Option<u32>>) -> &mut Self
pub fn max_frame_size(&mut self, sz: impl Into<Option<u32>>) -> &mut Self
Sets the maximum frame size to use for HTTP2.
Passing None will do nothing.
If not set, hyper will use a default.
Sourcepub fn keep_alive_interval(
&mut self,
interval: impl Into<Option<Duration>>,
) -> &mut Self
pub fn keep_alive_interval( &mut self, interval: impl Into<Option<Duration>>, ) -> &mut Self
Sets an interval for HTTP2 Ping frames should be sent to keep a connection alive.
Pass None to disable HTTP2 keep-alive.
Default is currently disabled.
Sourcepub fn keep_alive_timeout(&mut self, timeout: Duration) -> &mut Self
pub fn keep_alive_timeout(&mut self, timeout: Duration) -> &mut Self
Sets a timeout for receiving an acknowledgement of the keep-alive ping.
If the ping is not acknowledged within the timeout, the connection will
be closed. Does nothing if keep_alive_interval is disabled.
Default is 20 seconds.
Sourcepub fn keep_alive_while_idle(&mut self, enabled: bool) -> &mut Self
pub fn keep_alive_while_idle(&mut self, enabled: bool) -> &mut Self
Sets whether HTTP2 keep-alive should apply while the connection is idle.
If disabled, keep-alive pings are only sent while there are open
request/responses streams. If enabled, pings are also sent when no
streams are active. Does nothing if keep_alive_interval is
disabled.
Default is false.
Sourcepub fn max_concurrent_reset_streams(&mut self, max: usize) -> &mut Self
pub fn max_concurrent_reset_streams(&mut self, max: usize) -> &mut Self
Sets the maximum number of HTTP2 concurrent locally reset streams.
See the documentation of h2::client::Builder::max_concurrent_reset_streams for more
details.
The default value is determined by the h2 crate.
Sourcepub fn max_send_buf_size(&mut self, max: usize) -> &mut Self
pub fn max_send_buf_size(&mut self, max: usize) -> &mut Self
Set the maximum write buffer size for each HTTP/2 stream.
Default is currently 1MB, but may change.
§Panics
The value must be no larger than u32::MAX.
Sourcepub fn handshake<T, B>(
&self,
io: T,
) -> impl Future<Output = Result<(SendRequest<B>, Connection<T, B, Ex>)>>
pub fn handshake<T, B>( &self, io: T, ) -> impl Future<Output = Result<(SendRequest<B>, Connection<T, B, Ex>)>>
Constructs a connection with the configured options and IO.
See client::conn for more.
Note, if Connection is not await-ed, SendRequest will
do nothing.