Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion rs/qmux/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ tokio = { version = "1.27", features = ["sync", "time", "macros", "rt"] }
tokio-rustls = { version = "0.26", optional = true }

# Optional: WebSocket
tokio-tungstenite = { version = "0.29", optional = true }
tokio-tungstenite = { version = "0.30", optional = true }
tracing = "0.1"
web-transport-proto = { workspace = true }
web-transport-trait = { workspace = true }
Expand Down
4 changes: 2 additions & 2 deletions rs/web-transport-ffi/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ rustls-native-certs = "0.8"
thiserror = "2"
tokio = { version = "1", features = ["rt-multi-thread", "sync", "time", "macros"] }
tokio-util = "0.7"
uniffi = { version = "0.31", features = ["cli"] }
uniffi = { version = "0.32", features = ["cli"] }
url = "2"
web-transport-quinn = { workspace = true }

[build-dependencies]
uniffi = { version = "0.31", features = ["build"] }
uniffi = { version = "0.32", features = ["build"] }

[dev-dependencies]
rcgen = "0.14"
Expand Down
4 changes: 2 additions & 2 deletions rs/web-transport-quiche/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ all-features = true
keylog = ["tokio-quiche/capture_keylogs"]

[dependencies]
boring = "4"
boring = "5"
bytes = "1"
flume = "0.12"
futures = "0.3"
Expand All @@ -38,7 +38,7 @@ tokio = { version = "1", default-features = false, features = [
"time",
] }

tokio-quiche = "0.19"
tokio-quiche = "0.20"
tracing = "0.1"
url = "2"
web-transport-proto = { workspace = true }
Expand Down
15 changes: 4 additions & 11 deletions rs/web-transport-quiche/src/ez/driver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ use std::{

use kio::{Waiter, WaiterList};
use tokio_quiche::{
buf_factory::BufFactory,
quic::{HandshakeInfo, QuicheConnection},
quiche,
};
Expand Down Expand Up @@ -434,8 +433,6 @@ pub(super) struct Driver {
send: HashMap<StreamId, Lock<SendState>>,
recv: HashMap<StreamId, Lock<RecvState>>,

buf: Vec<u8>,

// Datagrams. Only the outbound half is a channel now; inbound datagrams and
// accepted streams are queued in `DriverState` so they can be polled.
dgram_out: flume::Receiver<Bytes>,
Expand All @@ -457,7 +454,6 @@ impl Driver {
state,
send: HashMap::new(),
recv: HashMap::new(),
buf: vec![0u8; BufFactory::MAX_BUF_SIZE],
dgram_out,
dgram_max,
keep_alive: keep_alive.map(KeepAlive::new),
Expand Down Expand Up @@ -886,10 +882,6 @@ impl tokio_quiche::ApplicationOverQuic for Driver {
true
}

fn buffer(&mut self) -> &mut [u8] {
&mut self.buf
}

async fn wait_for_data(
&mut self,
qconn: &mut QuicheConnection,
Expand All @@ -911,9 +903,10 @@ impl tokio_quiche::ApplicationOverQuic for Driver {
// The channel is bounded — if the application can't keep up we drop
// the new datagram (consistent with the unreliable contract).
loop {
match qconn.dgram_recv(&mut self.buf) {
Ok(len) => {
let buf = Bytes::copy_from_slice(&self.buf[..len]);
match qconn.dgram_recv_buf() {
Ok(dgram) => {
let (data, start) = dgram.into_parts();
let buf = Bytes::from(data).slice(start..);
let mut waiters = self.state.lock().push_dgram_in(buf);

waiters.wake();
Expand Down
Loading