#[derive(Debug, Clone, Default)]
#[non_exhaustive]
pub struct Http2Options {
pub initial_max_send_streams: Option<usize>,
pub adaptive_window: bool,
}
impl Http2Options {
#[must_use]
pub fn initial_max_send_streams(mut self, max_send_streams: impl Into<Option<usize>>) -> Self {
self.initial_max_send_streams = max_send_streams.into();
self
}
#[must_use]
pub fn adaptive_window(mut self, enabled: bool) -> Self {
self.adaptive_window = enabled;
self
}
}
#[cfg(test)]
mod tests {
use insta::assert_debug_snapshot;
use super::*;
#[cfg_attr(miri, ignore)]
#[test]
fn http2_options_default() {
assert_debug_snapshot!(Http2Options::default());
}
#[cfg_attr(miri, ignore)]
#[test]
fn configure_http2_options() {
let options = Http2Options::default().initial_max_send_streams(100).adaptive_window(true);
assert_debug_snapshot!(options);
}
}