Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
2122305
Move current quic module to quic/utils
oteffahi Jan 22, 2026
6e2cd0a
Refactor QUIC connect logic
oteffahi Jan 23, 2026
660ed03
Refactor QUIC server logic
oteffahi Jan 30, 2026
10c82dc
Remove unused utils.rs file
oteffahi Jan 30, 2026
f0a0d36
Refactor QUIC acceptor task
oteffahi Jan 30, 2026
b2057f2
Rename quic_conn field
oteffahi Jan 30, 2026
cbe0d07
Add QuicStreams wrapper
oteffahi Feb 2, 2026
40d4b8f
Merge multistream support
oteffahi Feb 5, 2026
3086542
Merge branch 'quic-streams'
oteffahi Feb 5, 2026
b49e38b
Fix QUIC ALPN for datagram mode
oteffahi Feb 5, 2026
a2722fd
Refactor QUIC acceptor
oteffahi Feb 6, 2026
1829a81
Improve stream limit configuration
oteffahi Feb 6, 2026
323f041
Fix acceptor task stopping on link error
oteffahi Feb 6, 2026
d7e603f
Rename QuicLink acceptor method
oteffahi Feb 6, 2026
513c19e
Add MTU config to QuicTransportConfigurator
oteffahi Feb 6, 2026
2b127f2
Further factorize the QUIC acceptor
oteffahi Feb 10, 2026
6e5d5e9
Remove redundant warning log
oteffahi Feb 17, 2026
80fd17c
Replace returned tuples with structs
oteffahi Feb 17, 2026
e3b44f9
Refactor QUIC's UDP socket config parsing and initialization
oteffahi Feb 19, 2026
5d040ed
Remove redundant code
oteffahi Feb 19, 2026
0bce497
Add missing MTU config to QUIC client
oteffahi Feb 19, 2026
5e43145
Remove unused imports
oteffahi Feb 19, 2026
b79fce7
Update error message
oteffahi Feb 19, 2026
3488033
Add unsecure QUIC backbone
oteffahi Feb 12, 2026
c839c4a
Add reliable UDP link via unsecure QUIC
oteffahi Feb 12, 2026
451a42a
Add missing multistream trait method implem
oteffahi Feb 17, 2026
3a44889
Add tests for reliable multistream UDP
oteffahi Feb 17, 2026
3996563
Add builder API and feature-gate unsecure QUIC
oteffahi Feb 18, 2026
3ac73fc
Remove unnecessary mut
oteffahi Feb 18, 2026
33e19cb
Fix typo in tests
oteffahi Feb 19, 2026
f55617b
Change self-signed certificate to lazy static
oteffahi Feb 19, 2026
4f05995
Remove todo comment
oteffahi Feb 19, 2026
a793113
Remove done todo comment
oteffahi Feb 19, 2026
4846021
Squashed commit of the following:
oteffahi Feb 20, 2026
b5ab79c
Merge branch 'main' into udp-reliability
oteffahi Feb 23, 2026
3db8203
Fix test port number overlap
oteffahi Feb 23, 2026
c07b813
Fix clippy warnings
oteffahi Feb 23, 2026
56fd511
Correct typo
oteffahi Feb 23, 2026
04c0d04
Fix more clippy warnings
oteffahi Feb 24, 2026
db14ed3
Squashed commit of the following:
oteffahi Feb 24, 2026
e64ad2b
Squashed commit of the following:
oteffahi Mar 11, 2026
aa838c6
Merge branch 'main' into udp-reliability
oteffahi Mar 11, 2026
39f92fa
Exclude pn_offset from typos check
oteffahi Mar 11, 2026
0d0fdd6
Remove pn_offset from codebase to make typos check happy
oteffahi Mar 11, 2026
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
51 changes: 38 additions & 13 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ pnet_datalink = "0.35.0"
proc-macro2 = "1.0.101"
prometheus-client = "0.24.0"
quinn = "0.11.5"
quinn-proto = "0.11.5"
quote = "1.0.40"
rand = { version = "0.8.5", default-features = false } # Default features are disabled due to usage in no_std crates
rand_chacha = "0.3.1"
Expand Down
9 changes: 5 additions & 4 deletions commons/zenoh-protocol/src/core/endpoint.rs
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ pub struct Metadata<'a>(pub(super) &'a str);
impl<'a> Metadata<'a> {
pub const RELIABILITY: &'static str = "rel";
pub const PRIORITIES: &'static str = "prio";
pub const MULTISTREAM: &'static str = "multistream";

pub fn as_str(&self) -> &'a str {
self.0
Expand Down Expand Up @@ -330,19 +331,19 @@ impl<'a> Config<'a> {
self.0
}

pub fn is_empty(&'a self) -> bool {
pub fn is_empty(&self) -> bool {
self.as_str().is_empty()
}

pub fn iter(&'a self) -> impl DoubleEndedIterator<Item = (&'a str, &'a str)> + Clone {
pub fn iter(&self) -> impl DoubleEndedIterator<Item = (&'a str, &'a str)> + Clone {
parameters::iter(self.0)
}

pub fn get(&'a self, k: &str) -> Option<&'a str> {
pub fn get(&self, k: &str) -> Option<&'a str> {
parameters::get(self.0, k)
}

pub fn values(&'a self, k: &str) -> impl DoubleEndedIterator<Item = &'a str> {
pub fn values(&self, k: &str) -> impl DoubleEndedIterator<Item = &'a str> {
parameters::values(self.0, k)
}
}
Expand Down
9 changes: 9 additions & 0 deletions commons/zenoh-sync/src/object_pool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ where
f: F,
}

impl<T, F: Fn() -> T + Clone> Clone for RecyclingObjectPool<T, F> {
fn clone(&self) -> Self {
Self {
inner: self.inner.clone(),
f: self.f.clone(),
}
}
}

impl<T, F: Fn() -> T> RecyclingObjectPool<T, F> {
pub fn new(num: usize, f: F) -> RecyclingObjectPool<T, F> {
let inner: Arc<LifoQueue<T>> = Arc::new(LifoQueue::new(num));
Expand Down
7 changes: 7 additions & 0 deletions io/zenoh-link-commons/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,10 @@ version = { workspace = true }
compression = []
quic = [
"dep:base64",
"dep:bytes",
"dep:quinn",
"dep:quinn-proto",
"dep:rcgen",
"dep:rustls-pemfile",
"dep:rustls-pki-types",
"dep:secrecy",
Expand All @@ -38,13 +41,17 @@ quic = [
"tls",
]
tls = ["dep:rustls", "dep:rustls-webpki"]
unsecure_quic = ["quic"]

[dependencies]
async-trait = { workspace = true }
base64 = { workspace = true, optional = true }
bytes = { workspace = true, optional = true }
flume = { workspace = true }
futures = { workspace = true }
quinn = { workspace = true, optional = true }
quinn-proto = { workspace = true, optional = true }
rcgen = { workspace = true, optional = true }
rustls = { workspace = true, optional = true }
rustls-pemfile = { workspace = true, optional = true }
rustls-pki-types = { workspace = true, optional = true }
Expand Down
18 changes: 18 additions & 0 deletions io/zenoh-link-commons/src/quic/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//
// Copyright (c) 2026 ZettaScale Technology
//
// This program and the accompanying materials are made available under the
// terms of the Eclipse Public License 2.0 which is available at
// http://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
// which is available at https://www.apache.org/licenses/LICENSE-2.0.
//
// SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
//
// Contributors:
// ZettaScale Zenoh Team, <zenoh@zettascale.tech>
//
mod plaintext;
mod socket;
mod utils;
pub use utils::*;
pub mod unicast;
Loading
Loading