diff --git a/Cargo.lock b/Cargo.lock index cb2701a6..25cc7254 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -354,6 +354,26 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" +[[package]] +name = "const_format" +version = "0.2.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c990efc7a285731f9a4378d81aff2f0e85a2c8781a05ef0f8baa8dac54d0ff48" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e026b6ce194a874cb9cf32cd5772d1ef9767cc8fcb5765948d74f37a9d8b2bf6" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + [[package]] name = "core-foundation" version = "0.9.3" @@ -442,6 +462,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "dyn-clone" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbfc4744c1b8f2a09adc0e55242f60b1af195d88596bd8700be74418c056c555" + [[package]] name = "env_logger" version = "0.10.0" @@ -1682,9 +1708,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.1" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c911ba11bc8433e811ce56fde130ccf32f5127cab0e0194e9c68c5a5b671791e" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", "ring", @@ -1715,9 +1741,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.100.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b" +checksum = "7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d" dependencies = [ "ring", "untrusted", @@ -1738,6 +1764,30 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "schemars" +version = "0.8.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763f8cd0d4c71ed8389c90cb8100cba87e763bd01a8e614d4f0af97bcd50a161" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0f696e21e10fa546b7ffb1c9672c6de8fbc7a81acf59524386d8639bf12737" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 1.0.109", +] + [[package]] name = "scopeguard" version = "1.1.0" @@ -1803,6 +1853,17 @@ dependencies = [ "syn 2.0.18", ] +[[package]] +name = "serde_derive_internals" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "serde_json" version = "1.0.96" @@ -2224,6 +2285,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + [[package]] name = "unindent" version = "0.1.11" @@ -2409,24 +2476,11 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "webpki-roots" -version = "0.22.6" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki", -] +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" [[package]] name = "winapi" @@ -2585,7 +2639,7 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "zenoh" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-global-executor", "async-std", @@ -2601,6 +2655,7 @@ dependencies = [ "lazy_static", "log", "ordered-float", + "paste", "petgraph", "rand", "regex", @@ -2613,7 +2668,6 @@ dependencies = [ "uuid", "vec_map", "zenoh-buffers", - "zenoh-cfg-properties", "zenoh-codec", "zenoh-collections", "zenoh-config", @@ -2632,24 +2686,18 @@ dependencies = [ [[package]] name = "zenoh-buffers" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "zenoh-collections", ] -[[package]] -name = "zenoh-cfg-properties" -version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" -dependencies = [ - "zenoh-result", -] - [[package]] name = "zenoh-codec" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ + "log", + "serde", "uhlc", "zenoh-buffers", "zenoh-protocol", @@ -2658,12 +2706,12 @@ dependencies = [ [[package]] name = "zenoh-collections" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" [[package]] name = "zenoh-config" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "flume", "json5", @@ -2672,7 +2720,6 @@ dependencies = [ "serde_json", "serde_yaml", "validated_struct", - "zenoh-cfg-properties", "zenoh-core", "zenoh-protocol", "zenoh-result", @@ -2682,7 +2729,7 @@ dependencies = [ [[package]] name = "zenoh-core" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-std", "lazy_static", @@ -2692,7 +2739,7 @@ dependencies = [ [[package]] name = "zenoh-crypto" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "aes", "hmac", @@ -2705,11 +2752,12 @@ dependencies = [ [[package]] name = "zenoh-keyexpr" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "hashbrown 0.13.2", "keyed-set", "rand", + "schemars", "serde", "token-cell", "zenoh-result", @@ -2718,11 +2766,10 @@ dependencies = [ [[package]] name = "zenoh-link" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-std", "async-trait", - "zenoh-cfg-properties", "zenoh-config", "zenoh-link-commons", "zenoh-link-quic", @@ -2738,7 +2785,7 @@ dependencies = [ [[package]] name = "zenoh-link-commons" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-std", "async-trait", @@ -2746,7 +2793,6 @@ dependencies = [ "serde", "typenum", "zenoh-buffers", - "zenoh-cfg-properties", "zenoh-codec", "zenoh-protocol", "zenoh-result", @@ -2755,8 +2801,9 @@ dependencies = [ [[package]] name = "zenoh-link-quic" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ + "async-rustls", "async-std", "async-trait", "futures", @@ -2765,8 +2812,7 @@ dependencies = [ "rustls", "rustls-native-certs", "rustls-pemfile", - "webpki", - "zenoh-cfg-properties", + "rustls-webpki", "zenoh-config", "zenoh-core", "zenoh-link-commons", @@ -2779,7 +2825,7 @@ dependencies = [ [[package]] name = "zenoh-link-tcp" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-std", "async-trait", @@ -2795,17 +2841,17 @@ dependencies = [ [[package]] name = "zenoh-link-tls" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-rustls", "async-std", "async-trait", "futures", "log", + "rustls", "rustls-pemfile", - "webpki", + "rustls-webpki", "webpki-roots", - "zenoh-cfg-properties", "zenoh-config", "zenoh-core", "zenoh-link-commons", @@ -2818,7 +2864,7 @@ dependencies = [ [[package]] name = "zenoh-link-udp" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-std", "async-trait", @@ -2837,7 +2883,7 @@ dependencies = [ [[package]] name = "zenoh-link-unixsock_stream" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-std", "async-trait", @@ -2855,7 +2901,7 @@ dependencies = [ [[package]] name = "zenoh-link-ws" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-std", "async-trait", @@ -2875,7 +2921,7 @@ dependencies = [ [[package]] name = "zenoh-macros" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "proc-macro2", "quote", @@ -2888,7 +2934,7 @@ dependencies = [ [[package]] name = "zenoh-plugin-trait" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "libloading", "log", @@ -2901,8 +2947,9 @@ dependencies = [ [[package]] name = "zenoh-protocol" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ + "const_format", "hex", "rand", "serde", @@ -2930,14 +2977,13 @@ dependencies = [ "validated_struct", "zenoh", "zenoh-buffers", - "zenoh-cfg-properties", "zenoh-core", ] [[package]] name = "zenoh-result" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "anyhow", ] @@ -2945,7 +2991,7 @@ dependencies = [ [[package]] name = "zenoh-sync" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-std", "event-listener", @@ -2960,7 +3006,7 @@ dependencies = [ [[package]] name = "zenoh-transport" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-executor", "async-global-executor", @@ -2974,8 +3020,8 @@ dependencies = [ "ringbuffer-spsc", "rsa", "serde", + "sha3", "zenoh-buffers", - "zenoh-cfg-properties", "zenoh-codec", "zenoh-collections", "zenoh-config", @@ -2991,7 +3037,7 @@ dependencies = [ [[package]] name = "zenoh-util" version = "0.10.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#7e8808b36da441ff1d29e1da2f70b2d83a7a3979" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=master#108dc59c18406cae1160e16aa51fd19f327a2377" dependencies = [ "async-std", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 8c10627b..254e6813 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -55,5 +55,4 @@ zenoh = { git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "master", "unstable", ] } zenoh-buffers = { git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "master" } -zenoh-cfg-properties = { git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "master" } zenoh-core = { git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "master" } diff --git a/src/enums.rs b/src/enums.rs index b3fdf523..190e4e2a 100644 --- a/src/enums.rs +++ b/src/enums.rs @@ -85,11 +85,16 @@ impl _Encoding { pub fn __str__(&self) -> String { self.0.to_string() } - pub fn append(&mut self, suffix: String) { + pub fn append(&mut self, suffix: String) -> PyResult<()> { unsafe { - let mut tmp = std::ptr::read(&self.0); - tmp = tmp.with_suffix(suffix); - std::ptr::write(&mut self.0, tmp); + let tmp = std::ptr::read(&self.0); + match tmp.with_suffix(suffix) { + Ok(tmp) => { + std::ptr::write(&mut self.0, tmp); + Ok(()) + } + Err(e) => Err(e.to_pyerr()), + } } } pub fn equals(&self, other: &Self) -> bool { diff --git a/src/session.rs b/src/session.rs index 30d677bf..370a9491 100644 --- a/src/session.rs +++ b/src/session.rs @@ -18,7 +18,7 @@ use std::convert::TryInto; use std::sync::Arc; use pyo3::{prelude::*, types::PyDict}; -use zenoh::config::whatami::{WhatAmI, WhatAmIMatcher}; +use zenoh::config::{WhatAmI, WhatAmIMatcher}; use zenoh::prelude::SessionDeclarations; use zenoh::publication::Publisher; use zenoh::scouting::Scout; diff --git a/src/value.rs b/src/value.rs index df27f3ba..0432412f 100644 --- a/src/value.rs +++ b/src/value.rs @@ -325,14 +325,14 @@ impl _Hello { } #[getter] pub fn zid(&self) -> Option<_ZenohId> { - self.0.zid.map(_ZenohId) + Some(_ZenohId(self.0.zid)) } #[getter] pub fn whatami(&self) -> Option<&'static str> { match self.0.whatami { - zenoh::config::whatami::WhatAmI::Client => Some("client"), - zenoh::config::whatami::WhatAmI::Peer => Some("peer"), - zenoh::config::whatami::WhatAmI::Router => Some("router"), + zenoh::config::WhatAmI::Client => Some("client"), + zenoh::config::WhatAmI::Peer => Some("peer"), + zenoh::config::WhatAmI::Router => Some("router"), } } #[getter]