[pbs-devel] [PATCH backup 1/2] examples: h2server: port to http2::Builder::new
Maximiliano Sandoval
m.sandoval at proxmox.com
Fri Mar 14 13:45:16 CET 2025
Fixes the deprecation warning while building this example.
Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---
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<Fut> hyper::rt::Executor<Fut> 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<Body>| {
println!("Got request");
--
2.39.5
More information about the pbs-devel
mailing list