From 7085d270d4d86f27f2bdd1869a92c9cb7d28c41d Mon Sep 17 00:00:00 2001 From: Maximiliano Sandoval Date: Fri, 14 Mar 2025 13:45:16 +0100 Subject: [PATCH] examples: h2server: port to http2::Builder::new Fixes the deprecation warning while building this example. Signed-off-by: Maximiliano Sandoval --- examples/h2server.rs | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/examples/h2server.rs b/examples/h2server.rs index 678640e8..6b286e78 100644 --- a/examples/h2server.rs +++ b/examples/h2server.rs @@ -1,9 +1,24 @@ +use std::future::Future; + use anyhow::Error; use futures::*; use hyper::{Body, Request, Response}; use tokio::net::{TcpListener, TcpStream}; +#[derive(Clone, Copy)] +struct H2Executor; + +impl hyper::rt::Executor for H2Executor +where + Fut: Future + Send + 'static, + Fut::Output: Send, +{ + fn execute(&self, fut: Fut) { + tokio::spawn(fut); + } +} + fn main() -> Result<(), Error> { proxmox_async::runtime::main(run()) } @@ -26,12 +41,11 @@ async fn run() -> Result<(), Error> { async fn handle_connection(socket: TcpStream) -> Result<(), Error> { socket.set_nodelay(true).unwrap(); - let mut http = hyper::server::conn::Http::new(); - http.http2_only(true); + let mut http = hyper::server::conn::http2::Builder::new(H2Executor); // increase window size: todo - find optiomal size let max_window_size = (1 << 31) - 2; - http.http2_initial_stream_window_size(max_window_size); - http.http2_initial_connection_window_size(max_window_size); + http.initial_stream_window_size(max_window_size); + http.initial_connection_window_size(max_window_size); let service = hyper::service::service_fn(|_req: Request| { println!("Got request");