From 39ddd8a44db04d3776871d7245381080174764b7 Mon Sep 17 00:00:00 2001 From: Peter LeVasseur Date: Thu, 18 Jul 2024 10:58:55 -0400 Subject: [PATCH] Update to up-rust crates.io release * Update to compile under up-rust 0.1.2 * Fix ordering test to work with UUIDv7 --- Cargo.lock | 685 +----------------- Cargo.toml | 3 +- .../src/integration_test_listeners.rs | 10 +- .../src/integration_test_utils.rs | 57 +- up-streamer/src/endpoint.rs | 2 +- up-streamer/src/ustreamer.rs | 20 +- 6 files changed, 43 insertions(+), 734 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e1fc76d2..114d80de 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,21 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "aho-corasick" version = "1.1.3" @@ -138,7 +123,7 @@ dependencies = [ "polling 2.8.0", "rustix 0.37.27", "slab", - "socket2 0.4.10", + "socket2", "waker-fn", ] @@ -273,27 +258,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -[[package]] -name = "backtrace" -version = "0.3.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base64" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" - [[package]] name = "bitflags" version = "1.3.2" @@ -369,16 +333,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "core-foundation-sys" version = "0.8.6" @@ -397,15 +351,6 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" -[[package]] -name = "encoding_rs" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" -dependencies = [ - "cfg-if", -] - [[package]] name = "env_logger" version = "0.10.2" @@ -419,12 +364,6 @@ dependencies = [ "termcolor", ] -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - [[package]] name = "errno" version = "0.3.8" @@ -515,30 +454,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - [[package]] name = "futures" version = "0.3.30" @@ -667,12 +582,6 @@ dependencies = [ "wasi", ] -[[package]] -name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - [[package]] name = "gloo-timers" version = "0.2.6" @@ -685,37 +594,12 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "h2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap 2.2.6", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -[[package]] -name = "hashbrown" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" - [[package]] name = "hermit-abi" version = "0.3.9" @@ -731,108 +615,12 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "http" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" -dependencies = [ - "bytes", - "http", -] - -[[package]] -name = "http-body-util" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" -dependencies = [ - "bytes", - "futures-core", - "http", - "http-body", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - [[package]] name = "humantime" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" -[[package]] -name = "hyper" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "itoa", - "pin-project-lite", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-tls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" -dependencies = [ - "bytes", - "http-body-util", - "hyper", - "hyper-util", - "native-tls", - "tokio", - "tokio-native-tls", - "tower-service", -] - -[[package]] -name = "hyper-util" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "http", - "http-body", - "hyper", - "pin-project-lite", - "socket2 0.5.6", - "tokio", - "tower", - "tower-service", - "tracing", -] - [[package]] name = "iana-time-zone" version = "0.1.60" @@ -856,16 +644,6 @@ dependencies = [ "cc", ] -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "indexmap" version = "1.9.3" @@ -873,17 +651,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -dependencies = [ - "equivalent", - "hashbrown 0.14.3", + "hashbrown", ] [[package]] @@ -924,12 +692,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - [[package]] name = "is-terminal" version = "0.4.12" @@ -1019,50 +781,6 @@ version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "miniz_oxide" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "num-traits" version = "0.2.18" @@ -1072,75 +790,12 @@ dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "object" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" -dependencies = [ - "memchr", -] - [[package]] name = "once_cell" version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -[[package]] -name = "openssl" -version = "0.10.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" -dependencies = [ - "bitflags 2.5.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.53", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.102" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "outref" version = "0.5.1" @@ -1153,32 +808,6 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.53", -] - [[package]] name = "pin-project-lite" version = "0.2.13" @@ -1202,12 +831,6 @@ dependencies = [ "futures-io", ] -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - [[package]] name = "polling" version = "2.8.0" @@ -1310,7 +933,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96cb37955261126624a25b5e6bda40ae34cf3989d52a783087ca6091b29b5642" dependencies = [ "anyhow", - "indexmap 1.9.3", + "indexmap", "log", "protobuf", "protobuf-support", @@ -1446,55 +1069,6 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" -[[package]] -name = "reqwest" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19" -dependencies = [ - "base64", - "bytes", - "encoding_rs", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-tls", - "hyper-util", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "system-configuration", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - [[package]] name = "rustix" version = "0.37.27" @@ -1522,60 +1096,12 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rustls-pemfile" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" -dependencies = [ - "base64", - "rustls-pki-types", -] - -[[package]] -name = "rustls-pki-types" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" - [[package]] name = "ryu" version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" -[[package]] -name = "schannel" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "security-framework" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "serde" version = "1.0.197" @@ -1607,18 +1133,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - [[package]] name = "signal-hook-registry" version = "1.4.1" @@ -1637,12 +1151,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - [[package]] name = "socket2" version = "0.4.10" @@ -1653,16 +1161,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "socket2" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "syn" version = "1.0.109" @@ -1685,33 +1183,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "tempfile" version = "3.10.1" @@ -1753,89 +1224,6 @@ dependencies = [ "syn 2.0.53", ] -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "num_cpus", - "pin-project-lite", - "socket2 0.5.6", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-layer" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - [[package]] name = "tracing" version = "0.1.40" @@ -1856,49 +1244,26 @@ dependencies = [ "once_cell", ] -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - [[package]] name = "up-rust" -version = "0.1.5" -source = "git+https://github.com/eclipse-uprotocol/up-rust?rev=f5248a89cf1db6232f463ee3ce7b1cb20d79cfdb#f5248a89cf1db6232f463ee3ce7b1cb20d79cfdb" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55fa30650c1f7901000d1938511b4309575353ec4b037a2d2aae51ecc87c8ced" dependencies = [ "async-trait", "bytes", - "chrono", "mediatype", - "once_cell", "protobuf", "protobuf-codegen", "protoc-bin-vendored", "rand", - "regex", - "reqwest", + "tracing", "uriparse", "uuid-simd", ] @@ -1931,17 +1296,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "url" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - [[package]] name = "uuid" version = "1.8.0" @@ -1964,12 +1318,6 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74797339c3b98616c009c7c3eb53a0ce41e85c8ec66bd3db96ed132d20cfdee8" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "vsimd" version = "0.8.0" @@ -1982,15 +1330,6 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -2256,13 +1595,3 @@ name = "windows_x86_64_msvc" version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" - -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] diff --git a/Cargo.toml b/Cargo.toml index 0a55dc9e..5a778d9e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,8 +34,7 @@ prost = { version = "0.12" } prost-types = { version = "0.12" } serde_json = { version = "1.0.111" } uuid = { version = "1.7.0" } -up-rust = { default-features = false, git = "https://github.com/eclipse-uprotocol/up-rust", rev = "f5248a89cf1db6232f463ee3ce7b1cb20d79cfdb" } - +up-rust = { version = "0.1", default-features = false } [profile.dev] debug = true diff --git a/example-utils/integration-test-utils/src/integration_test_listeners.rs b/example-utils/integration-test-utils/src/integration_test_listeners.rs index 7ce248e3..80af1b95 100644 --- a/example-utils/integration-test-utils/src/integration_test_listeners.rs +++ b/example-utils/integration-test-utils/src/integration_test_listeners.rs @@ -2,7 +2,7 @@ use async_std::sync::Mutex; use async_trait::async_trait; use log::debug; use std::sync::Arc; -use up_rust::{UListener, UMessage, UStatus}; +use up_rust::{UListener, UMessage}; #[derive(Clone)] pub struct LocalClientListener { @@ -27,10 +27,6 @@ impl UListener for LocalClientListener { self.message_store.lock().await.push(msg.clone()); debug!("within local_client_listener! msg: {:?}", msg); } - - async fn on_error(&self, err: UStatus) { - debug!("within local_client_listener! err: {:?}", err); - } } impl Default for LocalClientListener { @@ -62,10 +58,6 @@ impl UListener for RemoteClientListener { self.message_store.lock().await.push(msg.clone()); debug!("within remote_client_listener! msg: {:?}", msg); } - - async fn on_error(&self, err: UStatus) { - debug!("within remote_client_listener! err: {:?}", err); - } } impl Default for RemoteClientListener { diff --git a/example-utils/integration-test-utils/src/integration_test_utils.rs b/example-utils/integration-test-utils/src/integration_test_utils.rs index db69ed1a..23426b84 100644 --- a/example-utils/integration-test-utils/src/integration_test_utils.rs +++ b/example-utils/integration-test-utils/src/integration_test_utils.rs @@ -3,15 +3,12 @@ use async_broadcast::{Receiver, Sender}; use async_std::sync::{Condvar, Mutex}; use async_std::task; use log::{debug, error}; -use rand::random; use std::collections::HashMap; use std::sync::atomic::{AtomicU64, Ordering}; use std::sync::Arc; use std::thread::JoinHandle; use std::time::{Duration, Instant}; -use up_rust::{UListener, UMessage, UStatus, UTransport, UUIDBuilder, UUri}; - -const CLEAR_RAND_B: u64 = 0x6000_0000_0000_0000; +use up_rust::{UListener, UMessage, UStatus, UTransport, UUri, UUID}; pub type Signal = Arc<(Mutex, Condvar)>; @@ -45,41 +42,46 @@ pub async fn check_send_receive_message_discrepancy( } } +// TODO: Fix this function to work with UUIDv7 pub async fn check_messages_in_order(messages: Arc>>) { let messages = messages.lock().await; if messages.is_empty() { return; } - // Step 1: Group messages by id.lsb - let mut grouped_messages: HashMap> = HashMap::new(); + // Step 1: Group messages by source UUri + #[allow(clippy::mutable_key_type)] + let mut grouped_messages: HashMap> = HashMap::new(); for msg in messages.iter() { - let lsb = msg.attributes.as_ref().unwrap().id.lsb; - grouped_messages.entry(lsb).or_default().push(msg); + let source_uuri = msg + .attributes + .as_ref() + .unwrap() + .source + .as_ref() + .unwrap() + .clone(); + grouped_messages.entry(source_uuri).or_default().push(msg); } - // Step 2: Check each group for strict increasing order of id.msb - for (lsb, group) in grouped_messages { - debug!("lsb: {lsb}"); + // Step 2: Check each group for strict increasing order of id.msb first 48 bytes + for (source_uuri, group) in grouped_messages { + debug!("source_uuri: {source_uuri}"); if let Some(first_msg) = group.first() { - let mut prev_msb = first_msg.attributes.as_ref().unwrap().id.msb; + let mut prev_timestamp = first_msg.attributes.as_ref().unwrap().id.msb >> 16; for msg in group.iter().skip(1) { - let curr_msb = msg.attributes.as_ref().unwrap().id.msb; - debug!("prev_msb: {prev_msb}, curr_msb: {curr_msb}"); - if curr_msb <= prev_msb { - panic!("!! -- Message ordering issue for lsb: {} -- !!", lsb); + let curr_timestamp = msg.attributes.as_ref().unwrap().id.msb >> 16; + debug!("prev_timestamp: {prev_timestamp}, curr_timestamp: {curr_timestamp}"); + // relaxing to < instead of <= since we now do not have the counter for tie breaker + if curr_timestamp < prev_timestamp { + panic!("!! -- Message ordering issue for source_uuri: {} with prev_timestamp: {} and curr_timestamp: {}-- !!", source_uuri, prev_timestamp, curr_timestamp); } - prev_msb = curr_msb; + prev_timestamp = curr_timestamp; } } } } -#[inline(always)] -fn override_lsb_rand_b(lsb: u64, new_rand_b: u64) -> u64 { - lsb & CLEAR_RAND_B | new_rand_b -} - pub async fn wait_for_pause(signal: Signal) { let (lock, cvar) = &*signal; let mut has_paused = lock.lock().await; @@ -238,7 +240,6 @@ async fn poll_for_new_command( async fn send_message_set( client: &UPClientFoo, name: &str, - client_rand_b: u64, msg_type: &str, msg_set: &mut [UMessage], active_connection_listing: &ActiveConnections, @@ -247,11 +248,8 @@ async fn send_message_set( ) { for (index, msg) in &mut msg_set.iter_mut().enumerate() { if let Some(attributes) = msg.attributes.as_mut() { - let new_id = UUIDBuilder::build(); + let new_id = UUID::build(); attributes.id.0 = Some(Box::new(new_id)); - let uuid = attributes.id.as_mut().unwrap(); - let lsb = &mut uuid.lsb; - *lsb = override_lsb_rand_b(*lsb, client_rand_b); } debug!( @@ -290,8 +288,6 @@ pub async fn run_client( let mut sent_messages = Vec::with_capacity(client_history.sent_message_vec_capacity); - let client_rand_b = random::() >> 2; - loop { debug!("top of loop"); @@ -316,7 +312,6 @@ pub async fn run_client( send_message_set( &client, &client_configuration.name, - client_rand_b, "Notification", &mut client_messages.notification_msgs, &active_connection_listing, @@ -327,7 +322,6 @@ pub async fn run_client( send_message_set( &client, &client_configuration.name, - client_rand_b, "Request", &mut client_messages.request_msgs, &active_connection_listing, @@ -338,7 +332,6 @@ pub async fn run_client( send_message_set( &client, &client_configuration.name, - client_rand_b, "Response", &mut client_messages.response_msgs, &active_connection_listing, diff --git a/up-streamer/src/endpoint.rs b/up-streamer/src/endpoint.rs index 52ab6ee2..1eccfdde 100644 --- a/up-streamer/src/endpoint.rs +++ b/up-streamer/src/endpoint.rs @@ -32,7 +32,7 @@ const ENDPOINT_FN_NEW_TAG: &str = "new():"; /// /// # pub mod up_client_foo { /// # use std::sync::Arc; -/// # use up_rust::{UMessage, UTransport, UStatus, UUIDBuilder, UUri, UListener}; +/// # use up_rust::{UMessage, UTransport, UStatus, UUri, UListener}; /// # use async_trait::async_trait; /// # pub struct UPClientFoo; /// # diff --git a/up-streamer/src/ustreamer.rs b/up-streamer/src/ustreamer.rs index 0655a33f..354fd8f8 100644 --- a/up-streamer/src/ustreamer.rs +++ b/up-streamer/src/ustreamer.rs @@ -21,7 +21,7 @@ use std::collections::{HashMap, HashSet}; use std::hash::{Hash, Hasher}; use std::ops::Deref; use std::thread; -use up_rust::{UCode, UListener, UMessage, UStatus, UTransport, UUIDBuilder, UUri}; +use up_rust::{UCode, UListener, UMessage, UStatus, UTransport, UUri, UUID}; const USTREAMER_TAG: &str = "UStreamer:"; const USTREAMER_FN_NEW_TAG: &str = "new():"; @@ -235,7 +235,7 @@ impl ForwardingListeners { /// # pub mod up_client_foo { /// # use std::sync::Arc; /// use async_trait::async_trait; -/// # use up_rust::{UListener, UMessage, UStatus, UUIDBuilder, UUri}; +/// # use up_rust::{UListener, UMessage, UStatus, UUri}; /// # use up_rust::UTransport; /// # /// # pub struct UPClientFoo; @@ -287,7 +287,7 @@ impl ForwardingListeners { /// # pub mod up_client_bar { /// # use std::sync::Arc; /// # use async_trait::async_trait; -/// # use up_rust::{UListener, UMessage, UStatus, UTransport, UUIDBuilder, UUri}; +/// # use up_rust::{UListener, UMessage, UStatus, UTransport, UUri}; /// # pub struct UPClientBar; /// # /// # #[async_trait] @@ -641,7 +641,7 @@ impl TransportForwarder { let message_receiver_clone = message_receiver.clone(); thread::spawn(|| { task::block_on(Self::message_forwarding_loop( - UUIDBuilder::build().to_hyphenated_string(), + UUID::build().to_hyphenated_string(), out_transport_clone, message_receiver_clone, )) @@ -685,7 +685,6 @@ impl TransportForwarder { const FORWARDING_LISTENER_TAG: &str = "ForwardingListener:"; const FORWARDING_LISTENER_FN_ON_RECEIVE_TAG: &str = "on_receive():"; -const FORWARDING_LISTENER_FN_ON_ERROR_TAG: &str = "on_error():"; #[derive(Clone)] pub(crate) struct ForwardingListener { @@ -712,6 +711,10 @@ impl UListener for ForwardingListener { FORWARDING_LISTENER_FN_ON_RECEIVE_TAG, &msg ); + + // TODO: Discuss on what error cases there are to handle and for what types of messages + // e.g. only Responses? + if let Err(e) = self.sender.send(Arc::new(msg)).await { error!( "{}:{}:{} Unable to send message to worker pool: {e:?}", @@ -719,13 +722,6 @@ impl UListener for ForwardingListener { ); } } - - async fn on_error(&self, err: UStatus) { - error!( - "{}:{}:{} Received error instead of message from UTransport, with error: {err:?}", - self.forwarding_id, FORWARDING_LISTENER_TAG, FORWARDING_LISTENER_FN_ON_ERROR_TAG - ); - } } #[cfg(test)]