From ca8ff71238aa1f1bd97e7c0eda3ab685d276b512 Mon Sep 17 00:00:00 2001 From: Dominik Werder Date: Fri, 27 Sep 2024 13:25:21 +0200 Subject: [PATCH] Handle java impl bug better --- .cargo/cargo-lock | 335 ++++++++++++++++++++-------------------- netfetch/src/ca/conn.rs | 232 +++++++++++++++------------- scywr/Cargo.toml | 2 +- stats/src/stats.rs | 2 + 4 files changed, 302 insertions(+), 269 deletions(-) diff --git a/.cargo/cargo-lock b/.cargo/cargo-lock index e108632..9951c84 100644 --- a/.cargo/cargo-lock +++ b/.cargo/cargo-lock @@ -4,18 +4,18 @@ version = 3 [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" dependencies = [ "gimli", ] [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "ahash" @@ -110,9 +110,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" [[package]] name = "arc-swap" @@ -122,9 +122,9 @@ checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" [[package]] name = "arrayref" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "async-channel" @@ -151,9 +151,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", @@ -177,15 +177,15 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "axum" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" +checksum = "8f43644eed690f5374f1af436ecd6aea01cd201f6fbdf0178adaf6907afb2cec" dependencies = [ "async-trait", "axum-core", @@ -217,9 +217,9 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +checksum = "5e6b8ba012a258d63c9adfa28b9ddcf66149da6f986c5b5452e629d5ee64bf00" dependencies = [ "async-trait", "bytes", @@ -230,7 +230,7 @@ dependencies = [ "mime", "pin-project-lite", "rustversion", - "sync_wrapper 0.1.2", + "sync_wrapper 1.0.1", "tower-layer", "tower-service", "tracing", @@ -238,17 +238,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", "miniz_oxide", "object", "rustc-demangle", + "windows-targets", ] [[package]] @@ -276,12 +276,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.6.0" @@ -319,15 +313,18 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.1" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" [[package]] name = "cc" -version = "1.1.6" +version = "1.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f" +checksum = "9540e661f81799159abee814118cc139a2004b3a3aa3ea37724a1b66530b90e0" +dependencies = [ + "shlex", +] [[package]] name = "cfg-if" @@ -379,9 +376,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.11" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3" +checksum = "b0956a43b323ac1afaffc053ed5c4b7c1f1800bacd1683c353aabbb752515dd3" dependencies = [ "clap_builder", "clap_derive", @@ -389,9 +386,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.11" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa" +checksum = "4d72166dd41634086d5803a47eb71ae740e61d84709c36f3c34110173db3961b" dependencies = [ "anstream", "anstyle", @@ -401,9 +398,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.11" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ "heck", "proc-macro2", @@ -440,15 +437,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] @@ -464,9 +461,9 @@ dependencies = [ [[package]] name = "critical-section" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" +checksum = "f64009896348fc5af4222e9cf7d7d82a95a256c634ebcf61c53e4ea461422242" [[package]] name = "crossbeam-utils" @@ -492,7 +489,7 @@ dependencies = [ [[package]] name = "daqingest" -version = "0.2.2-aa.3" +version = "0.2.4-aa.1" dependencies = [ "async-channel 2.3.1", "bytes", @@ -566,9 +563,9 @@ dependencies = [ [[package]] name = "dashmap" -version = "6.0.1" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if", "crossbeam-utils", @@ -630,6 +627,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + [[package]] name = "equivalent" version = "1.0.1" @@ -827,15 +830,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" [[package]] name = "h2" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ "atomic-waker", "bytes", @@ -1039,9 +1042,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.6" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" dependencies = [ "bytes", "futures-channel", @@ -1052,16 +1055,15 @@ dependencies = [ "pin-project-lite", "socket2", "tokio", - "tower", "tower-service", "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1098,9 +1100,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ "equivalent", "hashbrown", @@ -1181,9 +1183,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.11.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] @@ -1196,9 +1198,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] @@ -1211,9 +1213,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" [[package]] name = "lock_api" @@ -1283,18 +1285,18 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] name = "mio" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ "hermit-abi", "libc", @@ -1322,7 +1324,7 @@ dependencies = [ "bytes", "chrono", "ciborium", - "dashmap 6.0.1", + "dashmap 6.1.0", "dbpg", "err", "futures-util", @@ -1351,6 +1353,7 @@ dependencies = [ "series", "serieswriter", "slidebuf", + "smallvec", "stats", "streams", "taskrun", @@ -1417,9 +1420,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.2" +version = "0.36.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" +checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" dependencies = [ "memchr", ] @@ -1438,9 +1441,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -1460,7 +1463,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.3", + "redox_syscall", "smallvec", "windows-targets", ] @@ -1546,12 +1549,13 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "postcard" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55c51ee6c0db07e68448e336cf8ea4131a620edefebf9893e759b2d793420f8" +checksum = "5f7f0a8d620d71c457dd1d47df76bb18960378da56af4527aaa10f515eee732e" dependencies = [ "cobs", - "embedded-io", + "embedded-io 0.4.0", + "embedded-io 0.6.1", "heapless", "serde", ] @@ -1576,9 +1580,9 @@ dependencies = [ [[package]] name = "postgres-types" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02048d9e032fb3cc3413bbf7b83a15d84a5d419778e2628751896d856498eee9" +checksum = "f66ea23a2d0e5734297357705193335e0a957696f34bed2f2faefacb2fec336f" dependencies = [ "bytes", "chrono", @@ -1596,9 +1600,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "proc-macro2" @@ -1628,9 +1635,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -1685,27 +1692,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "355ae415ccd3a04315d3f8246e86d67689ea74d88d915576e1589a351062a13b" dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" -dependencies = [ - "bitflags 2.6.0", + "bitflags", ] [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -1760,9 +1758,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver", ] @@ -1787,9 +1785,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scylla" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b20b46cf4ea921ba41121ba9ddf933185cd830cbe2c4fa6272a6e274a6b7368d" +checksum = "8139623d3fb0c8205b15e84fa587f3aa0ba61f876c19a9157b688f7c1763a7c5" dependencies = [ "arc-swap", "async-trait", @@ -1810,7 +1808,7 @@ dependencies = [ "smallvec", "snap", "socket2", - "thiserror 1.0.63", + "thiserror 1.0.64", "tokio", "tracing", "uuid", @@ -1818,9 +1816,9 @@ dependencies = [ [[package]] name = "scylla-cql" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27ea3cd3ff5bf9d7db7a6d65c54cecf52f7c40b8e3e32c8c2d6da84d23776ea4" +checksum = "de7020bcd1f6fdbeaed356cd426bf294b2071bd7120d48d2e8e319295e2acdcd" dependencies = [ "async-trait", "byteorder", @@ -1828,16 +1826,16 @@ dependencies = [ "lz4_flex", "scylla-macros", "snap", - "thiserror 1.0.63", + "thiserror 1.0.64", "tokio", "uuid", ] [[package]] name = "scylla-macros" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e50f3e2aec7ea9f495e029fb783eb34c64d26a8f2055e1d6b43d00e04d2fbda6" +checksum = "3859b6938663fc5062e3b26f3611649c9bd26fb252e85f6fdfa581e0d2ce74b6" dependencies = [ "darling", "proc-macro2", @@ -1873,9 +1871,9 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.204" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] @@ -1892,9 +1890,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", @@ -1910,11 +1908,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -2003,6 +2002,12 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -2164,9 +2169,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", @@ -2203,24 +2208,24 @@ dependencies = [ [[package]] name = "thiserror" version = "0.0.1" -source = "git+https://github.com/dominikwerder/thiserror.git?branch=cstm#ddbee753d83a11d7c716fbb6d7fe6678968eb0a9" +source = "git+https://github.com/dominikwerder/thiserror.git?branch=cstm#8d3fc303d3741068c05ce2b533c058fa44bf9a1d" dependencies = [ "thiserror-impl 1.0.61", ] [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "thiserror-impl 1.0.63", + "thiserror-impl 1.0.64", ] [[package]] name = "thiserror-impl" version = "1.0.61" -source = "git+https://github.com/dominikwerder/thiserror.git?branch=cstm#ddbee753d83a11d7c716fbb6d7fe6678968eb0a9" +source = "git+https://github.com/dominikwerder/thiserror.git?branch=cstm#8d3fc303d3741068c05ce2b533c058fa44bf9a1d" dependencies = [ "proc-macro2", "quote", @@ -2229,9 +2234,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", @@ -2296,9 +2301,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.1" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d040ac2b29ab03b09d4129c2f5bbd012a3ac2f79d38ff506a4bf8dd34b0eac8a" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" dependencies = [ "backtrace", "bytes", @@ -2326,9 +2331,9 @@ dependencies = [ [[package]] name = "tokio-postgres" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03adcf0147e203b6032c0b2d30be1415ba03bc348901f3ff1cc0df6a733e60c3" +checksum = "3b5d3742945bc7d7f210693b0c58ae542c6fd47b17adbbda0885f3dcb34a6bdb" dependencies = [ "async-trait", "byteorder", @@ -2352,9 +2357,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", "pin-project-lite", @@ -2363,9 +2368,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -2376,14 +2381,14 @@ dependencies = [ [[package]] name = "tower" -version = "0.4.13" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" dependencies = [ "futures-core", "futures-util", - "pin-project", "pin-project-lite", + "sync_wrapper 0.1.2", "tokio", "tower-layer", "tower-service", @@ -2392,15 +2397,15 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -2479,9 +2484,9 @@ dependencies = [ [[package]] name = "typeid" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "059d83cc991e7a42fc37bd50941885db0888e34209f8cfd9aab07ddec03bc9cf" +checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" [[package]] name = "typenum" @@ -2491,9 +2496,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "typetag" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "661d18414ec032a49ece2d56eee03636e43c4e8d577047ab334c0ba892e29aaf" +checksum = "52ba3b6e86ffe0054b2c44f2d86407388b933b16cb0a70eea3929420db1d9bbe" dependencies = [ "erased-serde", "inventory", @@ -2504,9 +2509,9 @@ dependencies = [ [[package]] name = "typetag-impl" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac73887f47b9312552aa90ef477927ff014d63d1920ca8037c6c1951eab64bb1" +checksum = "70b20a22c42c8f1cd23ce5e34f165d4d37038f5b663ad20fb6adbdf029172483" dependencies = [ "proc-macro2", "quote", @@ -2521,24 +2526,24 @@ checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" dependencies = [ "tinyvec", ] [[package]] name = "unicode-properties" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" +checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524" [[package]] name = "unsafe-libyaml" @@ -2607,19 +2612,20 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log 0.4.22", @@ -2632,9 +2638,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2642,9 +2648,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", @@ -2655,15 +2661,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" dependencies = [ "js-sys", "wasm-bindgen", @@ -2671,11 +2677,11 @@ dependencies = [ [[package]] name = "whoami" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" +checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" dependencies = [ - "redox_syscall 0.4.1", + "redox_syscall", "wasite", "web-sys", ] @@ -2790,6 +2796,7 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] diff --git a/netfetch/src/ca/conn.rs b/netfetch/src/ca/conn.rs index 3c8f99e..37cd434 100644 --- a/netfetch/src/ca/conn.rs +++ b/netfetch/src/ca/conn.rs @@ -1049,7 +1049,6 @@ pub struct CaConn { ca_conn_event_out_queue_max: usize, thr_msg_poll: ThrottleTrace, ca_proto_stats: Arc, - weird_count: usize, rng: Xoshiro128PlusPlus, channel_info_query_qu: VecDeque, channel_info_query_tx: Pin>>, @@ -1063,6 +1062,8 @@ pub struct CaConn { read_ioids: HashMap, handler_by_ioid: HashMap>>>, trace_channel_poll: bool, + ca_msg_recv_count: u64, + ca_version_recv_count: u64, } impl Drop for CaConn { @@ -1117,7 +1118,6 @@ impl CaConn { ca_conn_event_out_queue_max: 2000, thr_msg_poll: ThrottleTrace::new(Duration::from_millis(10000)), ca_proto_stats, - weird_count: 0, rng, channel_info_query_qu: VecDeque::new(), channel_info_query_tx: Box::pin(SenderPolling::new(channel_info_query_tx)), @@ -1128,6 +1128,8 @@ impl CaConn { read_ioids: HashMap::new(), handler_by_ioid: HashMap::new(), trace_channel_poll: false, + ca_msg_recv_count: 0, + ca_version_recv_count: 0, } } @@ -2589,11 +2591,10 @@ impl CaConn { warn!("CaConn sees: {msg:?}"); } } - CaMsgTy::VersionRes(x) => { - debug!("VersionRes({x})"); - self.weird_count += 1; - if self.weird_count > 200 { - // std::process::exit(13); + CaMsgTy::VersionRes(_) => { + if self.ca_msg_recv_count != 0 { + self.stats.ca_proto_version_later().inc(); + // TODO emit log or count stats } } CaMsgTy::ChannelCloseRes(x) => { @@ -2606,6 +2607,12 @@ impl CaConn { } CaItem::Empty => {} } + if self.ca_msg_recv_count == 0 { + if self.ca_version_recv_count == 0 { + self.stats.ca_proto_no_version_as_first().inc(); + } + } + self.ca_msg_recv_count += 1; Ready(Some(Ok(()))) } Ready(Some(Err(e))) => { @@ -2751,114 +2758,116 @@ impl CaConn { fn handle_conn_state(&mut self, tsnow: Instant, cx: &mut Context) -> Result>, Error> { use Poll::*; - match &mut self.state { - CaConnState::Unconnected(_since) => { - let addr = self.remote_addr_dbg.clone(); + loop { + break match &mut self.state { + CaConnState::Unconnected(_since) => { + let addr = self.remote_addr_dbg.clone(); - // TODO issue a TCP-connect event (and later a "connected") - trace!("create tcp connection to {:?}", (addr.ip(), addr.port())); + // TODO issue a TCP-connect event (and later a "connected") + trace!("create tcp connection to {:?}", (addr.ip(), addr.port())); - let fut = tokio::time::timeout(Duration::from_millis(1000), TcpStream::connect(addr)); - self.state = CaConnState::Connecting(Instant::now(), addr, Box::pin(fut)); - Ok(Ready(Some(()))) - } - CaConnState::Connecting(_since, addr, fut) => { - match fut.poll_unpin(cx) { - Ready(connect_result) => { - match connect_result { - Ok(Ok(tcp)) => { - self.stats.tcp_connected.inc(); - let addr = addr.clone(); - self.emit_connection_status_item(ConnectionStatusItem { - ts: self.tmp_ts_poll, - addr, - status: ConnectionStatus::Established, - })?; - self.backoff_reset(); - let proto = CaProto::new( - tcp, - self.remote_addr_dbg.to_string(), - self.opts.array_truncate, - self.ca_proto_stats.clone(), - ); - self.state = CaConnState::Init; - self.proto = Some(proto); - Ok(Ready(Some(()))) - } - Ok(Err(e)) => { - use std::io::ErrorKind; - debug!("error connect to {addr} {e}"); - let addr = addr.clone(); - self.emit_connection_status_item(ConnectionStatusItem { - ts: self.tmp_ts_poll, - addr, - status: ConnectionStatus::ConnectError, - })?; - let reason = match e.kind() { - ErrorKind::ConnectionRefused => ShutdownReason::ConnectRefused, - _ => ShutdownReason::IoError, - }; - self.trigger_shutdown(reason); - Ok(Ready(Some(()))) - } - Err(e) => { - // TODO log with exponential backoff - debug!("timeout connect to {addr} {e}"); - let addr = addr.clone(); - self.emit_connection_status_item(ConnectionStatusItem { - ts: self.tmp_ts_poll, - addr, - status: ConnectionStatus::ConnectTimeout, - })?; - self.trigger_shutdown(ShutdownReason::ConnectTimeout); - Ok(Ready(Some(()))) + let fut = tokio::time::timeout(Duration::from_millis(1000), TcpStream::connect(addr)); + self.state = CaConnState::Connecting(Instant::now(), addr, Box::pin(fut)); + Ok(Ready(Some(()))) + } + CaConnState::Connecting(_since, addr, fut) => { + match fut.poll_unpin(cx) { + Ready(connect_result) => { + match connect_result { + Ok(Ok(tcp)) => { + self.stats.tcp_connected.inc(); + let addr = addr.clone(); + self.emit_connection_status_item(ConnectionStatusItem { + ts: self.tmp_ts_poll, + addr, + status: ConnectionStatus::Established, + })?; + self.backoff_reset(); + let proto = CaProto::new( + tcp, + self.remote_addr_dbg.to_string(), + self.opts.array_truncate, + self.ca_proto_stats.clone(), + ); + self.state = CaConnState::Init; + self.proto = Some(proto); + Ok(Ready(Some(()))) + } + Ok(Err(e)) => { + use std::io::ErrorKind; + debug!("error connect to {addr} {e}"); + let addr = addr.clone(); + self.emit_connection_status_item(ConnectionStatusItem { + ts: self.tmp_ts_poll, + addr, + status: ConnectionStatus::ConnectError, + })?; + let reason = match e.kind() { + ErrorKind::ConnectionRefused => ShutdownReason::ConnectRefused, + _ => ShutdownReason::IoError, + }; + self.trigger_shutdown(reason); + Ok(Ready(Some(()))) + } + Err(e) => { + // TODO log with exponential backoff + debug!("timeout connect to {addr} {e}"); + let addr = addr.clone(); + self.emit_connection_status_item(ConnectionStatusItem { + ts: self.tmp_ts_poll, + addr, + status: ConnectionStatus::ConnectTimeout, + })?; + self.trigger_shutdown(ShutdownReason::ConnectTimeout); + Ok(Ready(Some(()))) + } } } + Pending => Ok(Pending), } - Pending => Ok(Pending), } - } - CaConnState::Init => { - trace4!("Init"); - let hostname = self.local_epics_hostname.clone(); - let proto = self.proto.as_mut().unwrap(); - let msg = CaMsg::from_ty_ts(CaMsgTy::Version, tsnow); - proto.push_out(msg); - let msg = CaMsg::from_ty_ts(CaMsgTy::ClientName, tsnow); - proto.push_out(msg); - let msg = CaMsg::from_ty_ts(CaMsgTy::HostName(hostname), tsnow); - proto.push_out(msg); - self.state = CaConnState::Handshake; - Ok(Ready(Some(()))) - } - CaConnState::Handshake => { - if true { - // because of bad java clients which do not send a version, skip the handshake. - self.state = CaConnState::PeerReady; - self.handle_conn_state(tsnow, cx) - } else { - match { - let res = self.handle_handshake(cx); - res - } { + CaConnState::Init => { + trace4!("Init"); + let hostname = self.local_epics_hostname.clone(); + let proto = self.proto.as_mut().unwrap(); + let msg = CaMsg::from_ty_ts(CaMsgTy::Version, tsnow); + proto.push_out(msg); + let msg = CaMsg::from_ty_ts(CaMsgTy::ClientName, tsnow); + proto.push_out(msg); + let msg = CaMsg::from_ty_ts(CaMsgTy::HostName(hostname), tsnow); + proto.push_out(msg); + self.state = CaConnState::Handshake; + Ok(Ready(Some(()))) + } + CaConnState::Handshake => { + if true { + // because of bad java clients which do not send a version, skip the handshake. + self.state = CaConnState::PeerReady; + continue; + } else { + match { + let res = self.handle_handshake(cx); + res + } { + Ready(Some(Ok(()))) => Ok(Ready(Some(()))), + Ready(Some(Err(e))) => Err(e), + Ready(None) => Ok(Ready(Some(()))), + Pending => Ok(Pending), + } + } + } + CaConnState::PeerReady => { + let res = self.handle_peer_ready(cx); + match res { Ready(Some(Ok(()))) => Ok(Ready(Some(()))), Ready(Some(Err(e))) => Err(e), Ready(None) => Ok(Ready(Some(()))), Pending => Ok(Pending), } } - } - CaConnState::PeerReady => { - let res = self.handle_peer_ready(cx); - match res { - Ready(Some(Ok(()))) => Ok(Ready(Some(()))), - Ready(Some(Err(e))) => Err(e), - Ready(None) => Ok(Ready(Some(()))), - Pending => Ok(Pending), - } - } - CaConnState::Shutdown(..) => Ok(Ready(None)), - CaConnState::EndOfStream => Ok(Ready(None)), + CaConnState::Shutdown(..) => Ok(Ready(None)), + CaConnState::EndOfStream => Ok(Ready(None)), + }; } } @@ -2866,6 +2875,7 @@ impl CaConn { use Poll::*; let tsnow = Instant::now(); let mut have_progress = false; + let mut have_pending = false; for _ in 0..64 { self.stats.loop2_count.inc(); if self.is_shutdown() { @@ -2883,7 +2893,10 @@ impl CaConn { error!("handle_conn_state yields {x:?}"); return Err(Error::LoopInnerLogicError); } - Pending => return Ok(Pending), + Pending => { + have_pending = true; + break; + } }, Err(e) => return Err(e), } @@ -2891,6 +2904,8 @@ impl CaConn { } if have_progress { Ok(Ready(Some(()))) + } else if have_pending { + Ok(Pending) } else { Ok(Ready(None)) } @@ -2923,6 +2938,7 @@ impl CaConn { } // cx.waker().wake_by_ref(); } + self.housekeeping_self(); self.check_channels_state_init(tsnow, cx)?; self.check_channels_state_poll(tsnow, cx)?; self.check_channels_alive(tsnow, cx)?; @@ -2953,6 +2969,14 @@ impl CaConn { Ok(()) } + fn housekeeping_self(&mut self) { + let cnt_max = 0xfffffff000000000; + if self.ca_msg_recv_count > cnt_max { + let mask = !cnt_max; + self.ca_msg_recv_count &= mask; + } + } + fn emit_channel_status(&mut self) -> Result<(), Error> { let stnow = SystemTime::now(); let mut channel_statuses = BTreeMap::new(); diff --git a/scywr/Cargo.toml b/scywr/Cargo.toml index 20a78dd..f27dc70 100644 --- a/scywr/Cargo.toml +++ b/scywr/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" [dependencies] futures-util = "0.3.28" async-channel = "2.3.1" -scylla = "0.13.0" +scylla = "0.14.0" smallvec = "1.11.0" pin-project = "1.1.5" stackfuture = "0.3.0" diff --git a/stats/src/stats.rs b/stats/src/stats.rs index 89f137e..c1ef8ff 100644 --- a/stats/src/stats.rs +++ b/stats/src/stats.rs @@ -400,6 +400,8 @@ stats_proc::stats_struct!(( channel_not_alive_no_activity, monitor_stale_read_begin, monitor_stale_read_timeout, + ca_proto_no_version_as_first, + ca_proto_version_later, ), values(inter_ivl_ema, read_ioids_len, proto_out_len,), histolog2s(