diff --git a/Cargo.lock b/Cargo.lock
index 78ec75065..8954f928c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3738,7 +3738,7 @@ dependencies = [
[[package]]
name = "zenoh"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"ahash",
"async-trait",
@@ -3786,7 +3786,7 @@ dependencies = [
[[package]]
name = "zenoh-buffers"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"zenoh-collections",
]
@@ -3823,7 +3823,7 @@ dependencies = [
[[package]]
name = "zenoh-codec"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"tracing",
"uhlc",
@@ -3835,12 +3835,12 @@ dependencies = [
[[package]]
name = "zenoh-collections"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
[[package]]
name = "zenoh-config"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"json5",
"num_cpus",
@@ -3862,7 +3862,7 @@ dependencies = [
[[package]]
name = "zenoh-core"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"lazy_static",
"tokio",
@@ -3873,7 +3873,7 @@ dependencies = [
[[package]]
name = "zenoh-crypto"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"aes",
"hmac",
@@ -3886,7 +3886,7 @@ dependencies = [
[[package]]
name = "zenoh-ext"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"bincode",
@@ -3905,7 +3905,7 @@ dependencies = [
[[package]]
name = "zenoh-keyexpr"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"hashbrown 0.14.5",
"keyed-set",
@@ -3919,7 +3919,7 @@ dependencies = [
[[package]]
name = "zenoh-link"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"zenoh-config",
"zenoh-link-commons",
@@ -3939,7 +3939,7 @@ dependencies = [
[[package]]
name = "zenoh-link-commons"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"flume",
@@ -3963,7 +3963,7 @@ dependencies = [
[[package]]
name = "zenoh-link-quic"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"base64 0.22.1",
@@ -3990,7 +3990,7 @@ dependencies = [
[[package]]
name = "zenoh-link-serial"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"tokio",
@@ -4008,7 +4008,7 @@ dependencies = [
[[package]]
name = "zenoh-link-tcp"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"socket2 0.5.7",
@@ -4025,7 +4025,7 @@ dependencies = [
[[package]]
name = "zenoh-link-tls"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"base64 0.22.1",
@@ -4054,7 +4054,7 @@ dependencies = [
[[package]]
name = "zenoh-link-udp"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"socket2 0.5.7",
@@ -4073,7 +4073,7 @@ dependencies = [
[[package]]
name = "zenoh-link-unixpipe"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"advisory-lock",
"async-trait",
@@ -4095,7 +4095,7 @@ dependencies = [
[[package]]
name = "zenoh-link-unixsock_stream"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"nix 0.29.0",
@@ -4113,7 +4113,7 @@ dependencies = [
[[package]]
name = "zenoh-link-vsock"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"libc",
@@ -4131,7 +4131,7 @@ dependencies = [
[[package]]
name = "zenoh-link-ws"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"futures-util",
@@ -4151,7 +4151,7 @@ dependencies = [
[[package]]
name = "zenoh-macros"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"proc-macro2",
"quote",
@@ -4162,7 +4162,7 @@ dependencies = [
[[package]]
name = "zenoh-plugin-trait"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"git-version",
"libloading",
@@ -4178,7 +4178,7 @@ dependencies = [
[[package]]
name = "zenoh-protocol"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"const_format",
"rand",
@@ -4192,7 +4192,7 @@ dependencies = [
[[package]]
name = "zenoh-result"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"anyhow",
]
@@ -4200,7 +4200,7 @@ dependencies = [
[[package]]
name = "zenoh-runtime"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"lazy_static",
"ron",
@@ -4213,7 +4213,7 @@ dependencies = [
[[package]]
name = "zenoh-shm"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"advisory-lock",
"async-trait",
@@ -4236,7 +4236,7 @@ dependencies = [
[[package]]
name = "zenoh-sync"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"event-listener 5.3.1",
"futures",
@@ -4249,7 +4249,7 @@ dependencies = [
[[package]]
name = "zenoh-task"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"futures",
"tokio",
@@ -4262,7 +4262,7 @@ dependencies = [
[[package]]
name = "zenoh-transport"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"crossbeam-utils",
@@ -4296,7 +4296,7 @@ dependencies = [
[[package]]
name = "zenoh-util"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"const_format",
diff --git a/Cargo.toml b/Cargo.toml
index f4b830e35..6506a105d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -74,10 +74,10 @@ spin = "0.9.5"
tokio = "*"
unwrap-infallible = "0.1.5"
const_format = "0.2.32"
-zenoh = { version = "1.0.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "main", default-features = false, features = ["internal"] }
-zenoh-ext = { version = "1.0.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", features=["internal"], branch = "main" }
-zenoh-runtime = { version = "1.0.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "main" }
-zenoh-util = { version = "1.0.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "main" }
+zenoh = { version = "1.0.0-dev", git = "https://github.com/ZettaScaleLabs/zenoh.git", branch = "shm_mutation_example", default-features = false, features = ["internal"] }
+zenoh-ext = { version = "1.0.0-dev", git = "https://github.com/ZettaScaleLabs/zenoh.git", features=["internal"], branch = "shm_mutation_example" }
+zenoh-runtime = { version = "1.0.0-dev", git = "https://github.com/ZettaScaleLabs/zenoh.git", branch = "shm_mutation_example" }
+zenoh-util = { version = "1.0.0-dev", git = "https://github.com/ZettaScaleLabs/zenoh.git", branch = "shm_mutation_example" }
flume = "*"
[build-dependencies]
diff --git a/Cargo.toml.in b/Cargo.toml.in
index 9fdb4796c..c88cfcb5c 100644
--- a/Cargo.toml.in
+++ b/Cargo.toml.in
@@ -74,10 +74,10 @@ spin = "0.9.5"
tokio = "*"
unwrap-infallible = "0.1.5"
const_format = "0.2.32"
-zenoh = { version = "1.0.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "main", default-features = false, features = ["internal"] }
-zenoh-ext = { version = "1.0.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", features=["internal"], branch = "main" }
-zenoh-runtime = { version = "1.0.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "main" }
-zenoh-util = { version = "1.0.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "main" }
+zenoh = { version = "1.0.0-dev", git = "https://github.com/ZettaScaleLabs/zenoh.git", branch = "shm_mutation_example", default-features = false, features = ["internal"] }
+zenoh-ext = { version = "1.0.0-dev", git = "https://github.com/ZettaScaleLabs/zenoh.git", features=["internal"], branch = "shm_mutation_example" }
+zenoh-runtime = { version = "1.0.0-dev", git = "https://github.com/ZettaScaleLabs/zenoh.git", branch = "shm_mutation_example" }
+zenoh-util = { version = "1.0.0-dev", git = "https://github.com/ZettaScaleLabs/zenoh.git", branch = "shm_mutation_example" }
flume = "*"
[build-dependencies]
diff --git a/build-resources/opaque-types/Cargo.lock b/build-resources/opaque-types/Cargo.lock
index b88eea208..c8052803f 100644
--- a/build-resources/opaque-types/Cargo.lock
+++ b/build-resources/opaque-types/Cargo.lock
@@ -3131,7 +3131,7 @@ dependencies = [
[[package]]
name = "zenoh"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"ahash",
"async-trait",
@@ -3179,7 +3179,7 @@ dependencies = [
[[package]]
name = "zenoh-buffers"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"zenoh-collections",
]
@@ -3187,7 +3187,7 @@ dependencies = [
[[package]]
name = "zenoh-codec"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"tracing",
"uhlc",
@@ -3199,12 +3199,12 @@ dependencies = [
[[package]]
name = "zenoh-collections"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
[[package]]
name = "zenoh-config"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"json5",
"num_cpus",
@@ -3226,7 +3226,7 @@ dependencies = [
[[package]]
name = "zenoh-core"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"lazy_static",
"tokio",
@@ -3237,7 +3237,7 @@ dependencies = [
[[package]]
name = "zenoh-crypto"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"aes",
"hmac",
@@ -3250,7 +3250,7 @@ dependencies = [
[[package]]
name = "zenoh-ext"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"bincode",
@@ -3269,7 +3269,7 @@ dependencies = [
[[package]]
name = "zenoh-keyexpr"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"hashbrown",
"keyed-set",
@@ -3283,7 +3283,7 @@ dependencies = [
[[package]]
name = "zenoh-link"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"zenoh-config",
"zenoh-link-commons",
@@ -3303,7 +3303,7 @@ dependencies = [
[[package]]
name = "zenoh-link-commons"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"flume",
@@ -3327,7 +3327,7 @@ dependencies = [
[[package]]
name = "zenoh-link-quic"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"base64 0.22.1",
@@ -3354,7 +3354,7 @@ dependencies = [
[[package]]
name = "zenoh-link-serial"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"tokio",
@@ -3372,7 +3372,7 @@ dependencies = [
[[package]]
name = "zenoh-link-tcp"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"socket2",
@@ -3389,7 +3389,7 @@ dependencies = [
[[package]]
name = "zenoh-link-tls"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"base64 0.22.1",
@@ -3418,7 +3418,7 @@ dependencies = [
[[package]]
name = "zenoh-link-udp"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"socket2",
@@ -3437,7 +3437,7 @@ dependencies = [
[[package]]
name = "zenoh-link-unixpipe"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"advisory-lock",
"async-trait",
@@ -3459,7 +3459,7 @@ dependencies = [
[[package]]
name = "zenoh-link-unixsock_stream"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"nix 0.29.0",
@@ -3477,7 +3477,7 @@ dependencies = [
[[package]]
name = "zenoh-link-vsock"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"libc",
@@ -3495,7 +3495,7 @@ dependencies = [
[[package]]
name = "zenoh-link-ws"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"futures-util",
@@ -3515,7 +3515,7 @@ dependencies = [
[[package]]
name = "zenoh-macros"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"proc-macro2",
"quote",
@@ -3526,7 +3526,7 @@ dependencies = [
[[package]]
name = "zenoh-plugin-trait"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"git-version",
"libloading",
@@ -3542,7 +3542,7 @@ dependencies = [
[[package]]
name = "zenoh-protocol"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"const_format",
"rand",
@@ -3556,7 +3556,7 @@ dependencies = [
[[package]]
name = "zenoh-result"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"anyhow",
]
@@ -3564,7 +3564,7 @@ dependencies = [
[[package]]
name = "zenoh-runtime"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"lazy_static",
"ron",
@@ -3577,7 +3577,7 @@ dependencies = [
[[package]]
name = "zenoh-shm"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"advisory-lock",
"async-trait",
@@ -3600,7 +3600,7 @@ dependencies = [
[[package]]
name = "zenoh-sync"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"event-listener",
"futures",
@@ -3613,7 +3613,7 @@ dependencies = [
[[package]]
name = "zenoh-task"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"futures",
"tokio",
@@ -3626,7 +3626,7 @@ dependencies = [
[[package]]
name = "zenoh-transport"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"crossbeam-utils",
@@ -3660,7 +3660,7 @@ dependencies = [
[[package]]
name = "zenoh-util"
version = "1.0.0-dev"
-source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=main#77923a2e084b0e7f4fa316978a9a6226cc4d4031"
+source = "git+https://github.com/ZettaScaleLabs/zenoh.git?branch=shm_mutation_example#3ba037d34f0dff7a496b972f4efa91fc2750f093"
dependencies = [
"async-trait",
"const_format",
diff --git a/build-resources/opaque-types/Cargo.toml b/build-resources/opaque-types/Cargo.toml
index 7ccb57ed0..867872fd1 100644
--- a/build-resources/opaque-types/Cargo.toml
+++ b/build-resources/opaque-types/Cargo.toml
@@ -30,9 +30,9 @@ panic = [
default = ["zenoh/default"]
[dependencies]
-zenoh = { version = "1.0.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "main", default-features = false, features = ["internal"] }
-zenoh-ext = { version = "1.0.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", features=["internal"], branch = "main" }
-zenoh-protocol = { version = "1.0.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "main" }
+zenoh = { version = "1.0.0-dev", git = "https://github.com/ZettaScaleLabs/zenoh.git", branch = "shm_mutation_example", default-features = false, features = ["internal"] }
+zenoh-ext = { version = "1.0.0-dev", git = "https://github.com/ZettaScaleLabs/zenoh.git", features=["internal"], branch = "shm_mutation_example" }
+zenoh-protocol = { version = "1.0.0-dev", git = "https://github.com/ZettaScaleLabs/zenoh.git", branch = "shm_mutation_example" }
const_format = "0.2.32"
flume = "*"
tokio = "*"
diff --git a/examples/z_sub_shm.c b/examples/z_sub_shm.c
index b4ce6cb2d..548138c6b 100644
--- a/examples/z_sub_shm.c
+++ b/examples/z_sub_shm.c
@@ -44,9 +44,12 @@ void data_handler(z_loaned_sample_t *sample, void *arg) {
#if defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API)
char *payload_type = "RAW";
{
+ // try to convert sample payload into SHM buffer. The conversion will succeed
+ // only if payload is carrying underlying SHM buffer
z_loaned_shm_t *shm = NULL;
if (z_bytes_as_mut_loaned_shm(z_sample_payload_mut(sample), &shm) == Z_OK) {
- z_loaned_shm_mut_t *shm_mut = z_shm_try_reloan_mut(shm);
+ // try to get mutable access to SHM buffer
+ z_loaned_shm_mut_t *shm_mut = z_shm_try_reloan_mut(shm);
if (shm_mut) {
payload_type = "SHM (MUT)";
} else {
diff --git a/include/zenoh_commons.h b/include/zenoh_commons.h
index fe8f30b02..2a80930c0 100644
--- a/include/zenoh_commons.h
+++ b/include/zenoh_commons.h
@@ -3700,6 +3700,10 @@ ZENOHC_API const struct z_loaned_keyexpr_t *z_query_keyexpr(const struct z_loane
* Borrows the query.
*/
ZENOHC_API const struct z_loaned_query_t *z_query_loan(const struct z_owned_query_t *this_);
+/**
+ * Mutably borrows the query.
+ */
+ZENOHC_API struct z_loaned_query_t *z_query_loan_mut(struct z_owned_query_t *this_);
/**
* Gets query value selector.
*/
@@ -3713,6 +3717,13 @@ void z_query_parameters(const struct z_loaned_query_t *this_,
*/
ZENOHC_API
const struct z_loaned_bytes_t *z_query_payload(const struct z_loaned_query_t *this_);
+/**
+ * Gets mutable query payload.
+ *
+ * Returns NULL if query does not contain a payload.
+ */
+ZENOHC_API
+struct z_loaned_bytes_t *z_query_payload_mut(struct z_loaned_query_t *this_);
/**
* Sends a reply to a query.
*
@@ -3874,11 +3885,19 @@ const struct z_loaned_encoding_t *z_reply_err_encoding(const struct z_loaned_rep
*/
ZENOHC_API
const struct z_loaned_reply_err_t *z_reply_err_loan(const struct z_owned_reply_err_t *this_);
+/**
+ * Mutably borrows reply error.
+ */
+ZENOHC_API struct z_loaned_reply_err_t *z_reply_err_loan_mut(struct z_owned_reply_err_t *this_);
/**
* Returns reply error payload.
*/
ZENOHC_API
const struct z_loaned_bytes_t *z_reply_err_payload(const struct z_loaned_reply_err_t *this_);
+/**
+ * Returns mutable reply error payload.
+ */
+ZENOHC_API struct z_loaned_bytes_t *z_reply_err_payload_mut(struct z_loaned_reply_err_t *this_);
/**
* Returns ``true`` if reply contains a valid response, ``false`` otherwise (in this case it contains a errror value).
*/
@@ -4043,12 +4062,16 @@ ZENOHC_API enum z_sample_kind_t z_sample_kind(const struct z_loaned_sample_t *th
* Borrows sample.
*/
ZENOHC_API const struct z_loaned_sample_t *z_sample_loan(const struct z_owned_sample_t *this_);
+/**
+ * Mutably borrows sample.
+ */
+ZENOHC_API struct z_loaned_sample_t *z_sample_loan_mut(struct z_owned_sample_t *this_);
/**
* Returns the sample payload data.
*/
ZENOHC_API const struct z_loaned_bytes_t *z_sample_payload(const struct z_loaned_sample_t *this_);
/**
- * Returns the sample payload data.
+ * Returns the mutable sample payload data.
*/
ZENOHC_API struct z_loaned_bytes_t *z_sample_payload_mut(struct z_loaned_sample_t *this_);
/**
@@ -4447,6 +4470,7 @@ struct z_loaned_shm_mut_t *z_shm_try_mut(struct z_owned_shm_t *this_);
/**
* @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
* @brief Tries to reborrow mutably-borrowed ZShm slice as borrowed ZShmMut slice.
+ * @return borrowed ZShmMut slice in case of success, NULL otherwise
*/
#if (defined(Z_FEATURE_SHARED_MEMORY) && defined(Z_FEATURE_UNSTABLE_API))
ZENOHC_API
diff --git a/include/zenoh_macros.h b/include/zenoh_macros.h
index aae0c0509..4b72893a3 100644
--- a/include/zenoh_macros.h
+++ b/include/zenoh_macros.h
@@ -128,6 +128,9 @@ static inline ze_moved_serializer_t* ze_serializer_move(ze_owned_serializer_t* x
z_owned_mutex_t : z_mutex_loan_mut, \
z_owned_publisher_t : z_publisher_loan_mut, \
z_owned_querier_t : z_querier_loan_mut, \
+ z_owned_query_t : z_query_loan_mut, \
+ z_owned_reply_err_t : z_reply_err_loan_mut, \
+ z_owned_sample_t : z_sample_loan_mut, \
z_owned_session_t : z_session_loan_mut, \
z_owned_shm_t : z_shm_loan_mut, \
z_owned_shm_mut_t : z_shm_mut_loan_mut, \
@@ -677,6 +680,9 @@ inline z_loaned_encoding_t* z_loan_mut(z_owned_encoding_t& this_) { return z_enc
inline z_loaned_mutex_t* z_loan_mut(z_owned_mutex_t& this_) { return z_mutex_loan_mut(&this_); };
inline z_loaned_publisher_t* z_loan_mut(z_owned_publisher_t& this_) { return z_publisher_loan_mut(&this_); };
inline z_loaned_querier_t* z_loan_mut(z_owned_querier_t& this_) { return z_querier_loan_mut(&this_); };
+inline z_loaned_query_t* z_loan_mut(z_owned_query_t& this_) { return z_query_loan_mut(&this_); };
+inline z_loaned_reply_err_t* z_loan_mut(z_owned_reply_err_t& this_) { return z_reply_err_loan_mut(&this_); };
+inline z_loaned_sample_t* z_loan_mut(z_owned_sample_t& this_) { return z_sample_loan_mut(&this_); };
inline z_loaned_session_t* z_loan_mut(z_owned_session_t& this_) { return z_session_loan_mut(&this_); };
inline z_loaned_shm_t* z_loan_mut(z_owned_shm_t& this_) { return z_shm_loan_mut(&this_); };
inline z_loaned_shm_mut_t* z_loan_mut(z_owned_shm_mut_t& this_) { return z_shm_mut_loan_mut(&this_); };
diff --git a/src/commons.rs b/src/commons.rs
index 4bb53015c..a932d7d1c 100644
--- a/src/commons.rs
+++ b/src/commons.rs
@@ -118,7 +118,7 @@ pub extern "C" fn z_sample_encoding(this_: &z_loaned_sample_t) -> &z_loaned_enco
pub extern "C" fn z_sample_payload(this_: &z_loaned_sample_t) -> &z_loaned_bytes_t {
this_.as_rust_type_ref().payload().as_loaned_c_type_ref()
}
-/// Returns the sample payload data.
+/// Returns the mutable sample payload data.
#[no_mangle]
pub extern "C" fn z_sample_payload_mut(this_: &mut z_loaned_sample_t) -> &mut z_loaned_bytes_t {
this_
@@ -218,6 +218,17 @@ pub unsafe extern "C" fn z_sample_loan(this_: &z_owned_sample_t) -> &z_loaned_sa
.as_loaned_c_type_ref()
}
+/// Mutably borrows sample.
+#[no_mangle]
+#[allow(clippy::missing_safety_doc)]
+pub unsafe extern "C" fn z_sample_loan_mut(this_: &mut z_owned_sample_t) -> &mut z_loaned_sample_t {
+ this_
+ .as_rust_type_mut()
+ .as_mut()
+ .unwrap_unchecked()
+ .as_loaned_c_type_mut()
+}
+
/// Frees the memory and invalidates the sample, resetting it to a gravestone state.
#[no_mangle]
pub extern "C" fn z_sample_drop(this_: &mut z_moved_sample_t) {
diff --git a/src/get.rs b/src/get.rs
index 4ccffc41b..25b817d0d 100644
--- a/src/get.rs
+++ b/src/get.rs
@@ -60,6 +60,17 @@ pub extern "C" fn z_reply_err_payload(this_: &z_loaned_reply_err_t) -> &z_loaned
this_.as_rust_type_ref().payload().as_loaned_c_type_ref()
}
+/// Returns mutable reply error payload.
+#[no_mangle]
+pub extern "C" fn z_reply_err_payload_mut(
+ this_: &mut z_loaned_reply_err_t,
+) -> &mut z_loaned_bytes_t {
+ this_
+ .as_rust_type_mut()
+ .payload_mut()
+ .as_loaned_c_type_mut()
+}
+
/// Returns reply error encoding.
#[no_mangle]
pub extern "C" fn z_reply_err_encoding(this_: &z_loaned_reply_err_t) -> &z_loaned_encoding_t {
@@ -72,6 +83,14 @@ pub extern "C" fn z_reply_err_loan(this_: &z_owned_reply_err_t) -> &z_loaned_rep
this_.as_rust_type_ref().as_loaned_c_type_ref()
}
+/// Mutably borrows reply error.
+#[no_mangle]
+pub extern "C" fn z_reply_err_loan_mut(
+ this_: &mut z_owned_reply_err_t,
+) -> &mut z_loaned_reply_err_t {
+ this_.as_rust_type_mut().as_loaned_c_type_mut()
+}
+
/// Frees the memory and resets the reply error it to its default value.
#[no_mangle]
pub extern "C" fn z_reply_err_drop(this_: &mut z_moved_reply_err_t) {
diff --git a/src/queryable.rs b/src/queryable.rs
index 4799d3583..d4dd98cae 100644
--- a/src/queryable.rs
+++ b/src/queryable.rs
@@ -82,6 +82,18 @@ pub unsafe extern "C" fn z_query_loan(this_: &'static z_owned_query_t) -> &z_loa
.unwrap_unchecked()
.as_loaned_c_type_ref()
}
+/// Mutably borrows the query.
+#[no_mangle]
+#[allow(clippy::missing_safety_doc)]
+pub unsafe extern "C" fn z_query_loan_mut(
+ this_: &'static mut z_owned_query_t,
+) -> &mut z_loaned_query_t {
+ this_
+ .as_rust_type_mut()
+ .as_mut()
+ .unwrap_unchecked()
+ .as_loaned_c_type_mut()
+}
/// Destroys the query resetting it to its gravestone value.
#[no_mangle]
pub extern "C" fn z_query_drop(this_: &mut z_moved_query_t) {
@@ -474,6 +486,19 @@ pub extern "C" fn z_query_payload(this_: &z_loaned_query_t) -> Option<&z_loaned_
.map(|v| v.as_loaned_c_type_ref())
}
+/// Gets mutable query payload.
+///
+/// Returns NULL if query does not contain a payload.
+#[no_mangle]
+pub extern "C" fn z_query_payload_mut(
+ this_: &mut z_loaned_query_t,
+) -> Option<&mut z_loaned_bytes_t> {
+ this_
+ .as_rust_type_mut()
+ .payload_mut()
+ .map(|v| v.as_loaned_c_type_mut())
+}
+
/// Gets query payload encoding.
///
/// Returns NULL if query does not contain an encoding.
diff --git a/src/shm/buffer/zshm.rs b/src/shm/buffer/zshm.rs
index 82f41e3fb..5d6b4a110 100644
--- a/src/shm/buffer/zshm.rs
+++ b/src/shm/buffer/zshm.rs
@@ -115,6 +115,7 @@ pub extern "C" fn z_shm_drop(this_: &mut z_moved_shm_t) {
/// @warning This API has been marked as unstable: it works as advertised, but it may be changed in a future release.
/// @brief Tries to reborrow mutably-borrowed ZShm slice as borrowed ZShmMut slice.
+/// @return borrowed ZShmMut slice in case of success, NULL otherwise
#[no_mangle]
pub extern "C" fn z_shm_try_reloan_mut(this_: &mut z_loaned_shm_t) -> *mut z_loaned_shm_mut_t {
let this = this_.as_rust_type_mut();