From 8f99f4bd47679d222adfc60d46c4a84da7173a67 Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Thu, 17 Jul 2025 09:58:08 +0200 Subject: [PATCH 1/4] add CongestionControl.BLOCK_FIRST --- Cargo.lock | 54 +++++++++++++++++++++++----------------------- src/qos.rs | 1 + zenoh/__init__.pyi | 1 + 3 files changed, 29 insertions(+), 27 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fce57023..978fc701 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -2940,7 +2940,7 @@ dependencies = [ [[package]] name = "zenoh" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "ahash", "arc-swap", @@ -2989,7 +2989,7 @@ dependencies = [ [[package]] name = "zenoh-buffers" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "zenoh-collections", ] @@ -2997,7 +2997,7 @@ dependencies = [ [[package]] name = "zenoh-codec" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "tracing", "uhlc", @@ -3008,7 +3008,7 @@ dependencies = [ [[package]] name = "zenoh-collections" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "ahash", ] @@ -3016,7 +3016,7 @@ dependencies = [ [[package]] name = "zenoh-config" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "json5", "nonempty-collections", @@ -3040,7 +3040,7 @@ dependencies = [ [[package]] name = "zenoh-core" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "lazy_static", "tokio", @@ -3051,7 +3051,7 @@ dependencies = [ [[package]] name = "zenoh-crypto" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "aes", "hmac", @@ -3064,7 +3064,7 @@ dependencies = [ [[package]] name = "zenoh-ext" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "async-trait", "bincode", @@ -3083,7 +3083,7 @@ dependencies = [ [[package]] name = "zenoh-keyexpr" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "getrandom", "hashbrown 0.14.5", @@ -3098,7 +3098,7 @@ dependencies = [ [[package]] name = "zenoh-link" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "zenoh-config", "zenoh-link-commons", @@ -3115,7 +3115,7 @@ dependencies = [ [[package]] name = "zenoh-link-commons" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "async-trait", "flume", @@ -3140,7 +3140,7 @@ dependencies = [ [[package]] name = "zenoh-link-quic" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "async-trait", "base64 0.22.1", @@ -3167,7 +3167,7 @@ dependencies = [ [[package]] name = "zenoh-link-tcp" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "async-trait", "socket2", @@ -3184,7 +3184,7 @@ dependencies = [ [[package]] name = "zenoh-link-tls" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "async-trait", "base64 0.22.1", @@ -3213,7 +3213,7 @@ dependencies = [ [[package]] name = "zenoh-link-udp" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "async-trait", "libc", @@ -3234,7 +3234,7 @@ dependencies = [ [[package]] name = "zenoh-link-unixsock_stream" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "async-trait", "nix", @@ -3252,7 +3252,7 @@ dependencies = [ [[package]] name = "zenoh-link-ws" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "async-trait", "futures-util", @@ -3272,7 +3272,7 @@ dependencies = [ [[package]] name = "zenoh-macros" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "proc-macro2", "quote", @@ -3283,7 +3283,7 @@ dependencies = [ [[package]] name = "zenoh-plugin-trait" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "git-version", "libloading", @@ -3299,7 +3299,7 @@ dependencies = [ [[package]] name = "zenoh-protocol" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "const_format", "rand", @@ -3326,7 +3326,7 @@ dependencies = [ [[package]] name = "zenoh-result" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "anyhow", ] @@ -3334,7 +3334,7 @@ dependencies = [ [[package]] name = "zenoh-runtime" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "lazy_static", "ron", @@ -3348,7 +3348,7 @@ dependencies = [ [[package]] name = "zenoh-sync" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "arc-swap", "event-listener", @@ -3362,7 +3362,7 @@ dependencies = [ [[package]] name = "zenoh-task" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "futures", "tokio", @@ -3375,7 +3375,7 @@ dependencies = [ [[package]] name = "zenoh-transport" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "async-trait", "crossbeam-utils", @@ -3408,7 +3408,7 @@ dependencies = [ [[package]] name = "zenoh-util" version = "1.4.0" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#249e4be7cb5f89a7914b3b3bac54c8213dcd209b" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#ba0cae6c4294aec9f9306810785769ed28b726b0" dependencies = [ "async-trait", "const_format", diff --git a/src/qos.rs b/src/qos.rs index 159c63e0..1b572b68 100644 --- a/src/qos.rs +++ b/src/qos.rs @@ -40,6 +40,7 @@ impl Priority { enum_mapper!(zenoh::qos::CongestionControl: u8 { Drop = 0, Block = 1, + BlockFirst = 2 }); #[pymethods] diff --git a/zenoh/__init__.pyi b/zenoh/__init__.pyi index 676e0c9c..902372ed 100644 --- a/zenoh/__init__.pyi +++ b/zenoh/__init__.pyi @@ -57,6 +57,7 @@ class CongestionControl(Enum): DROP = auto() BLOCK = auto() + BLOCK_FIRST = auto() DEFAULT = DROP From 85269f5cb8777bc004f06a8ba3caf2b09eb1576e Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Thu, 17 Jul 2025 10:20:56 +0200 Subject: [PATCH 2/4] add _unstable marker to BLOCK_FIRST --- zenoh/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zenoh/__init__.pyi b/zenoh/__init__.pyi index 902372ed..0d8f936f 100644 --- a/zenoh/__init__.pyi +++ b/zenoh/__init__.pyi @@ -57,7 +57,7 @@ class CongestionControl(Enum): DROP = auto() BLOCK = auto() - BLOCK_FIRST = auto() + BLOCK_FIRST = _unstable(auto()) DEFAULT = DROP From 9ff68785b140eef99f10f5197c3851bafd4fb150 Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Thu, 17 Jul 2025 11:04:07 +0200 Subject: [PATCH 3/4] fix Cargo.lock version --- Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 978fc701..29c22ed4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 4 +version = 3 [[package]] name = "addr2line" From acc8e09a4891d7b30d3e0df4d5b22e058bb6e429 Mon Sep 17 00:00:00 2001 From: Joseph Perez Date: Wed, 23 Jul 2025 10:27:46 +0200 Subject: [PATCH 4/4] add missing comma --- src/macros.rs | 2 +- src/qos.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/macros.rs b/src/macros.rs index cc94427f..5433291b 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -86,7 +86,7 @@ macro_rules! downcast_or_new { pub(crate) use downcast_or_new; macro_rules! enum_mapper { - ($($path:ident)::*: $repr:ty { $($variant:ident $(= $discriminator:literal)?),* $(,)? }) => { + ($($path:ident)::*: $repr:ty { $($variant:ident $(= $discriminator:literal)?,)* }) => { $crate::macros::enum_mapper!(@ $($path)::*, $($path)::*: $repr { $($variant $(= $discriminator)?,)* }); }; (@ $ty:ident::$($tt:ident)::*, $path:path: $repr:ty { $($variant:ident $(= $discriminator:literal)?,)* }) => { diff --git a/src/qos.rs b/src/qos.rs index 1b572b68..2b60e1bb 100644 --- a/src/qos.rs +++ b/src/qos.rs @@ -40,7 +40,7 @@ impl Priority { enum_mapper!(zenoh::qos::CongestionControl: u8 { Drop = 0, Block = 1, - BlockFirst = 2 + BlockFirst = 2, }); #[pymethods] @@ -51,7 +51,7 @@ impl CongestionControl { enum_mapper!(zenoh::qos::Reliability: u8 { BestEffort, - Reliable + Reliable, }); #[pymethods]