diff --git a/changelog-h3-quinn.md b/changelog-h3-quinn.md index 1a6a3c5c..2deb638a 100644 --- a/changelog-h3-quinn.md +++ b/changelog-h3-quinn.md @@ -1,3 +1,8 @@ +### v0.0.7 (2024-07-01) +* Consolidate quic trait redundancy +* make types Sync +* new tracing feature + ### v0.0.6 (2024-05-20) * use quinn 0.11 diff --git a/changelog-h3.md b/changelog-h3.md index 34febf67..2260eef0 100644 --- a/changelog-h3.md +++ b/changelog-h3.md @@ -1,3 +1,9 @@ +### v0.0.6 (2024-07-01) +* Consolidate quic trait redundancy +* start qpack streams +* send grease stream in the background +* new tracing feature + ### v0.0.5 (2024-05-20) * add `poll_recv_data()` for server * use 2021 edition diff --git a/h3-quinn/Cargo.toml b/h3-quinn/Cargo.toml index 4f380bf0..a1d759d4 100644 --- a/h3-quinn/Cargo.toml +++ b/h3-quinn/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "h3-quinn" -version = "0.0.6" +version = "0.0.7" rust-version = "1.66" authors = ["Jean-Christophe BEGUE "] edition = "2021" @@ -13,7 +13,7 @@ categories = ["network-programming", "web-programming"] license = "MIT" [dependencies] -h3 = { version = "0.0.5", path = "../h3" } +h3 = { version = "0.0.6", path = "../h3" } bytes = "1" quinn = { version = "0.11", default-features = false, features = [ "futures-io", diff --git a/h3-quinn/src/lib.rs b/h3-quinn/src/lib.rs index 893365e1..45cd344a 100644 --- a/h3-quinn/src/lib.rs +++ b/h3-quinn/src/lib.rs @@ -17,10 +17,10 @@ use bytes::{Buf, Bytes, BytesMut}; use futures::{ ready, stream::{self, select, BoxStream, Select}, - StreamExt, + Stream, StreamExt, }; pub use quinn::{self, Endpoint, OpenBi, OpenUni, VarInt, WriteError}; -use quinn::{ApplicationClose, ClosedStream, ReadDatagram}; +use quinn::{AcceptBi, AcceptUni, ApplicationClose, ClosedStream, ReadDatagram}; use h3::{ ext::Datagram, @@ -31,6 +31,9 @@ use tokio_util::sync::ReusableBoxFuture; #[cfg(feature = "tracing")] use tracing::instrument; +/// BoxStream with Sync trait +type BoxStreamSync<'a, T> = Pin + Sync + Send + 'a>>; + /// A QUIC connection backed by Quinn /// /// Implements a [`quic::Connection`] backed by a [`quinn::Connection`]. @@ -39,15 +42,15 @@ where B: Buf, { conn: quinn::Connection, - opening_bi: Option as Future>::Output>>, - opening_uni: Option as Future>::Output>>, - datagrams: BoxStream<'static, as Future>::Output>, + opening_bi: Option as Future>::Output>>, + opening_uni: Option as Future>::Output>>, + datagrams: BoxStreamSync<'static, as Future>::Output>, incoming: Select< - BoxStream< + BoxStreamSync< 'static, Result, RecvStream, B>, quinn::ConnectionError>, >, - BoxStream< + BoxStreamSync< 'static, Result, RecvStream, B>, quinn::ConnectionError>, >, @@ -312,8 +315,8 @@ where /// [`quinn::OpenBi`], [`quinn::OpenUni`]. pub struct OpenStreams { conn: quinn::Connection, - opening_bi: Option as Future>::Output>>, - opening_uni: Option as Future>::Output>>, + opening_bi: Option as Future>::Output>>, + opening_uni: Option as Future>::Output>>, } impl quic::OpenStreams for OpenStreams diff --git a/h3-webtransport/Cargo.toml b/h3-webtransport/Cargo.toml index a502cd0e..16c6f44c 100644 --- a/h3-webtransport/Cargo.toml +++ b/h3-webtransport/Cargo.toml @@ -14,6 +14,6 @@ tracing = "0.1.37" tokio = { version = "1.28", default_features = false } [dependencies.h3] -version = "0.0.5" +version = "0.0.6" path = "../h3" features = ["i-implement-a-third-party-backend-and-opt-into-breaking-changes"] diff --git a/h3/Cargo.toml b/h3/Cargo.toml index 5d740e99..d8b58472 100644 --- a/h3/Cargo.toml +++ b/h3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "h3" -version = "0.0.5" +version = "0.0.6" rust-version = "1.63" authors = [ "Sean McArthur ",