From 61adc97473a7c5333e3def4c3f8eaea41a747fef Mon Sep 17 00:00:00 2001 From: "kevin.russ" Date: Thu, 16 Jan 2025 14:49:21 +0100 Subject: [PATCH] Remove buf_redux --- application/apps/indexer/Cargo.lock | 479 ++++++++---------- application/apps/indexer/Cargo.toml | 5 +- .../apps/indexer/addons/text_grep/Cargo.toml | 2 +- .../indexer/addons/text_grep/src/buffer.rs | 73 ++- .../apps/indexer/addons/text_grep/src/lib.rs | 8 +- application/apps/indexer/processor/Cargo.toml | 2 +- .../indexer/processor/src/search/buffer.rs | 75 ++- .../processor/src/search/searchers/mod.rs | 10 +- .../apps/indexer/processor/src/text_source.rs | 9 +- application/apps/indexer/sources/Cargo.toml | 2 +- .../indexer/sources/src/binary/pcap/legacy.rs | 20 +- .../indexer/sources/src/binary/pcap/ng.rs | 20 +- .../apps/indexer/sources/src/binary/raw.rs | 14 +- .../indexer/sources/src/command/process.rs | 18 +- .../indexer/sources/src/serial/serialport.rs | 16 +- .../apps/indexer/sources/src/socket/tcp.rs | 16 +- .../apps/indexer/sources/src/socket/udp.rs | 16 +- application/apps/protocol/Cargo.lock | 3 +- .../apps/rustcore/rs-bindings/Cargo.lock | 57 +-- 19 files changed, 387 insertions(+), 458 deletions(-) diff --git a/application/apps/indexer/Cargo.lock b/application/apps/indexer/Cargo.lock index e350e876fb..e913d1af94 100644 --- a/application/apps/indexer/Cargo.lock +++ b/application/apps/indexer/Cargo.lock @@ -116,19 +116,20 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.93" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "arrayref" @@ -227,7 +228,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 5.3.1", + "event-listener 5.4.0", "event-listener-strategy", "pin-project-lite", ] @@ -245,7 +246,7 @@ dependencies = [ "async-task", "blocking", "cfg-if", - "event-listener 5.3.1", + "event-listener 5.4.0", "futures-lite", "rustix", "tracing", @@ -315,7 +316,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -326,13 +327,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.83" +version = "0.1.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -384,18 +385,18 @@ dependencies = [ [[package]] name = "bit-set" -version = "0.5.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.6.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" @@ -405,9 +406,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "blake3" @@ -437,9 +438,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.11.0" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22" +checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0" dependencies = [ "memchr", "regex-automata 0.4.9", @@ -447,25 +448,9 @@ dependencies = [ ] [[package]] -name = "buf_redux" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f" -dependencies = [ - "memchr", - "safemem", - "slice-deque", -] - -[[package]] -name = "buf_redux" -version = "0.8.4" -source = "git+https://github.com/DmitryAstafyev/buf_redux.git#595d13446d3d90eb4834a3cee67c0f79e28f01d8" -dependencies = [ - "memchr", - "safemem", - "slice-deque", -] +name = "bufread" +version = "0.1.0" +source = "git+https://github.com/kruss/bufread#5dec80376c0cbbbf3c4f864cf88b965cceb67c3b" [[package]] name = "bumpalo" @@ -499,9 +484,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.2" +version = "1.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" +checksum = "c8293772165d9345bdaaa39b45b2109591e63fe5e6fbc23c6ff930a048aa310b" dependencies = [ "shlex", ] @@ -520,9 +505,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ "android-tzdata", "iana-time-zone", @@ -603,18 +588,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.21" +version = "4.5.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f" +checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.21" +version = "4.5.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec" +checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" dependencies = [ "anstyle", "clap_lex", @@ -622,9 +607,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "clipboard-win" @@ -652,15 +637,15 @@ dependencies = [ [[package]] name = "console" -version = "0.15.8" +version = "0.15.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b" dependencies = [ "encode_unicode", - "lazy_static", "libc", - "unicode-width 0.1.14", - "windows-sys 0.52.0", + "once_cell", + "unicode-width 0.2.0", + "windows-sys 0.59.0", ] [[package]] @@ -700,7 +685,7 @@ dependencies = [ "anes", "cast", "ciborium", - "clap 4.5.21", + "clap 4.5.26", "criterion-plot", "futures", "is-terminal", @@ -731,18 +716,18 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -759,9 +744,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" @@ -786,7 +771,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" dependencies = [ "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -819,7 +804,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -830,7 +815,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -851,7 +836,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -861,7 +846,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -874,7 +859,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -907,10 +892,9 @@ dependencies = [ [[package]] name = "dlt-core" version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b304e32f1164b8c2ef1dc746b32d321f25f88a32672f0f5bcba2df0f70a3b70" +source = "git+https://github.com/kruss/dlt-core.git?branch=remove_buf_redux#87c7cea8be5224790ba8457ff531b4b6804c1298" dependencies = [ - "buf_redux 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bufread", "byteorder", "bytes", "derive_more", @@ -948,9 +932,9 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encoding_rs" @@ -978,9 +962,9 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" [[package]] name = "env_filter" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" dependencies = [ "log", "regex", @@ -988,9 +972,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" +checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" dependencies = [ "anstream", "anstyle", @@ -1050,9 +1034,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "5.3.1" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" dependencies = [ "concurrent-queue", "parking", @@ -1061,11 +1045,11 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ - "event-listener 5.3.1", + "event-listener 5.4.0", "pin-project-lite", ] @@ -1075,14 +1059,14 @@ version = "0.1.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "fastrand" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fd-lock" @@ -1192,9 +1176,9 @@ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand", "futures-core", @@ -1211,7 +1195,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -1257,13 +1241,13 @@ dependencies = [ [[package]] name = "ghost" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0e085ded9f1267c32176b40921b9754c474f7dd96f7e808d4a982e48aa1e854" +checksum = "39b697dbd8bfcc35d0ee91698aaa379af096368ba8837d279cc097b276edda45" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -1363,11 +1347,11 @@ checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" [[package]] name = "home" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1411,7 +1395,7 @@ version = "0.1.0" dependencies = [ "log", "serde", - "thiserror 2.0.3", + "thiserror 2.0.11", ] [[package]] @@ -1458,13 +1442,13 @@ dependencies = [ [[package]] name = "insta" -version = "1.41.1" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9ffc4d4892617c50a928c52b2961cb5174b6fc6ebf252b2fac9d21955c48b8" +checksum = "6513e4067e16e69ed1db5ab56048ed65db32d10ba5fc1217f5393f8f17d8b5a5" dependencies = [ "console", - "lazy_static", "linked-hash-map", + "once_cell", "serde", "similar", ] @@ -1544,9 +1528,9 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "js-sys" -version = "0.3.74" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -1569,15 +1553,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.167" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" - -[[package]] -name = "libm" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libmimalloc-sys" @@ -1595,7 +1573,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "libc", ] @@ -1627,9 +1605,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "lock_api" @@ -1643,22 +1621,13 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" dependencies = [ "value-bag", ] -[[package]] -name = "mach" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1" -dependencies = [ - "libc", -] - [[package]] name = "mach2" version = "0.4.2" @@ -1692,15 +1661,6 @@ dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - [[package]] name = "merging" version = "0.1.0" @@ -1708,7 +1668,7 @@ dependencies = [ "log", "serde", "serde_json", - "thiserror 2.0.3", + "thiserror 2.0.11", ] [[package]] @@ -1744,25 +1704,13 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - [[package]] name = "mio" version = "1.0.3" @@ -1770,19 +1718,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", + "log", "wasi", "windows-sys 0.52.0", ] [[package]] name = "mio-serial" -version = "5.0.5" +version = "5.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20a4c60ca5c9c0e114b3bd66ff4aa5f9b2b175442be51ca6c4365d687a97a2ac" +checksum = "029e1f407e261176a983a6599c084efd322d9301028055c87174beac71397ba3" dependencies = [ "log", - "mio 0.8.11", - "nix 0.26.4", + "mio", + "nix 0.29.0", "serialport", "winapi", ] @@ -1805,8 +1754,6 @@ dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", - "memoffset", - "pin-utils", ] [[package]] @@ -1815,7 +1762,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "cfg-if", "cfg_aliases", "libc", @@ -1919,7 +1866,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", - "libm", ] [[package]] @@ -1930,9 +1876,9 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] name = "object" -version = "0.36.5" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -2018,7 +1964,7 @@ dependencies = [ "someip-payload", "someip-tools", "stringreader", - "thiserror 2.0.3", + "thiserror 2.0.11", ] [[package]] @@ -2040,18 +1986,18 @@ dependencies = [ [[package]] name = "phf" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ "phf_shared", ] [[package]] name = "phf_codegen" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" dependencies = [ "phf_generator", "phf_shared", @@ -2059,9 +2005,9 @@ dependencies = [ [[package]] name = "phf_generator" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", "rand", @@ -2069,18 +2015,18 @@ dependencies = [ [[package]] name = "phf_shared" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ "siphasher", ] [[package]] name = "pin-project-lite" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -2199,9 +2145,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -2211,7 +2157,7 @@ name = "processor" version = "0.2.0" dependencies = [ "bincode", - "buf_redux 0.8.4 (git+https://github.com/DmitryAstafyev/buf_redux.git)", + "bufread", "bytecount", "criterion", "futures", @@ -2229,20 +2175,20 @@ dependencies = [ "serde_json", "stypes", "tempfile", - "thiserror 2.0.3", + "thiserror 2.0.11", "tokio-util", "uuid", ] [[package]] name = "proptest" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.6.0", + "bitflags 2.8.0", "lazy_static", "num-traits", "rand", @@ -2280,9 +2226,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -2358,11 +2304,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", ] [[package]] @@ -2472,17 +2418,23 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.41" +version = "0.38.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" +checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] +[[package]] +name = "rustversion" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" + [[package]] name = "rusty-fork" version = "0.3.0" @@ -2501,7 +2453,7 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "cfg-if", "clipboard-win", "fd-lock", @@ -2523,12 +2475,6 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - [[package]] name = "same-file" version = "1.0.6" @@ -2546,35 +2492,35 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "semver" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" [[package]] name = "serde" -version = "1.0.215" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.215" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.135" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" dependencies = [ "itoa", "memchr", @@ -2584,11 +2530,11 @@ dependencies = [ [[package]] name = "serialport" -version = "4.6.1" +version = "4.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779e2977f0cc2ff39708fef48f96f3768ac8ddd8c6caaaab82e83bd240ef99b2" +checksum = "5ecfc4858c2266c7695d8b8460bbd612fa81bd2e250f5f0dd16195e4b4f8b3d8" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "cfg-if", "core-foundation", "core-foundation-sys", @@ -2627,7 +2573,7 @@ dependencies = [ "sources", "stypes", "tempfile", - "thiserror 2.0.3", + "thiserror 2.0.11", "tokio", "tokio-stream", "tokio-util", @@ -2676,9 +2622,9 @@ checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" [[package]] name = "siphasher" -version = "0.3.11" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" @@ -2689,17 +2635,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "slice-deque" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffddf594f5f597f63533d897427a570dbaa9feabaaa06595b74b71b7014507d7" -dependencies = [ - "libc", - "mach", - "winapi", -] - [[package]] name = "smallvec" version = "1.13.2" @@ -2745,7 +2680,7 @@ name = "someip-tools" version = "0.1.0" dependencies = [ "nom", - "thiserror 2.0.3", + "thiserror 2.0.11", ] [[package]] @@ -2753,7 +2688,7 @@ name = "sources" version = "0.1.0" dependencies = [ "async-stream", - "buf_redux 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bufread", "bytes", "criterion", "env_logger", @@ -2769,7 +2704,7 @@ dependencies = [ "serde", "shellexpand", "stypes", - "thiserror 2.0.3", + "thiserror 2.0.11", "tikv-jemallocator", "tokio", "tokio-serial", @@ -2846,7 +2781,7 @@ dependencies = [ "regex", "remove_dir_all", "serde", - "thiserror 2.0.3", + "thiserror 2.0.11", "tokio", "ts-rs", "uuid", @@ -2866,9 +2801,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.90" +version = "2.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" dependencies = [ "proc-macro2", "quote", @@ -2877,12 +2812,13 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.14.0" +version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" +checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" dependencies = [ "cfg-if", "fastrand", + "getrandom", "once_cell", "rustix", "windows-sys 0.59.0", @@ -2901,12 +2837,12 @@ dependencies = [ name = "text_grep" version = "0.1.0" dependencies = [ - "buf_redux 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bufread", "grep-regex", "grep-searcher", "regex", "tempfile", - "thiserror 2.0.3", + "thiserror 2.0.11", "tokio", "tokio-util", ] @@ -2931,11 +2867,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.3" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.3", + "thiserror-impl 2.0.11", ] [[package]] @@ -2946,18 +2882,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "thiserror-impl" -version = "2.0.3" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3002,14 +2938,14 @@ dependencies = [ [[package]] name = "tokio" -version = "1.41.1" +version = "1.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" +checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.3", + "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", @@ -3020,33 +2956,34 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] name = "tokio-serial" -version = "5.4.4" +version = "5.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa6e2e4cf0520a99c5f87d5abb24172b5bd220de57c3181baaaa5440540c64aa" +checksum = "aa1d5427f11ba7c5e6384521cfd76f2d64572ff29f3f4f7aa0f496282923fdc8" dependencies = [ "cfg-if", "futures", "log", "mio-serial", + "serialport", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -3055,9 +2992,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ "bytes", "futures-core", @@ -3089,7 +3026,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] [[package]] @@ -3115,9 +3052,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", "nu-ansi-term", @@ -3138,7 +3075,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e640d9b0964e9d39df633548591090ab92f7a4567bc31d3891af23471a3365c6" dependencies = [ "lazy_static", - "thiserror 2.0.3", + "thiserror 2.0.11", "ts-rs-macros", "uuid", ] @@ -3151,7 +3088,7 @@ checksum = "0e9d8656589772eeec2cf7a8264d9cda40fb28b9bc53118ceb9e8c07f8f38730" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", "termcolor", ] @@ -3172,9 +3109,9 @@ dependencies = [ [[package]] name = "unicase" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-ident" @@ -3208,9 +3145,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" +checksum = "744018581f9a3454a9e15beb8a33b017183f1e7c0cd170232a2d1453b23a51c4" dependencies = [ "getrandom", "serde", @@ -3284,47 +3221,48 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3332,28 +3270,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.97" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.74" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -3581,5 +3522,5 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.96", ] diff --git a/application/apps/indexer/Cargo.toml b/application/apps/indexer/Cargo.toml index 02852d740a..8bd797d89e 100644 --- a/application/apps/indexer/Cargo.toml +++ b/application/apps/indexer/Cargo.toml @@ -24,11 +24,12 @@ thiserror = "2.0" lazy_static = "1.5" tokio = { version = "1", features = ["full"] } tokio-stream = "0.1" -dlt-core = "0.18.0" +#dlt-core = "0.18.0" +dlt-core = { git = "https://github.com/kruss/dlt-core.git", branch = "remove_buf_redux" } crossbeam-channel = "0.5" futures = "0.3" tokio-util = "0.7" -buf_redux = "0.8" +bufread = { git = "https://github.com/kruss/bufread" } regex = "1" grep-regex = "0.1" rand = "0.8" diff --git a/application/apps/indexer/addons/text_grep/Cargo.toml b/application/apps/indexer/addons/text_grep/Cargo.toml index 23847f116d..903cfcf353 100644 --- a/application/apps/indexer/addons/text_grep/Cargo.toml +++ b/application/apps/indexer/addons/text_grep/Cargo.toml @@ -11,7 +11,7 @@ path = "src/lib.rs" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] tokio = { workspace = true, features = ["full"] } -buf_redux.workspace = true +bufread.workspace = true tokio-util.workspace = true tempfile.workspace = true grep-searcher.workspace = true diff --git a/application/apps/indexer/addons/text_grep/src/buffer.rs b/application/apps/indexer/addons/text_grep/src/buffer.rs index e8930aca58..13ce4083d4 100644 --- a/application/apps/indexer/addons/text_grep/src/buffer.rs +++ b/application/apps/indexer/addons/text_grep/src/buffer.rs @@ -1,39 +1,62 @@ -use buf_redux::{ - do_read, - policy::{DoRead, ReaderPolicy}, - Buffer, -}; +// TODO this duplicates: application/apps/indexer/processor/src/search/buffer.rs +use bufread::BufReader; use tokio_util::sync::CancellationToken; +use std::io::{BufRead, Read, Result, Seek, SeekFrom, Error, ErrorKind}; -pub const REDUX_READER_CAPACITY: usize = 1024 * 1024; -pub const REDUX_MIN_BUFFER_SPACE: usize = 10 * 1024; +const BIN_READER_CAPACITY: usize = 1024 * 1024; +const BIN_MIN_BUFFER_SPACE: usize = 10 * 1024; -#[derive(Debug)] -pub struct CancallableMinBuffered(pub (usize, CancellationToken)); +pub struct CancellableBufReader { + buffer: BufReader, + cancel: CancellationToken +} -impl CancallableMinBuffered { - /// Set the number of bytes to ensure are in the buffer. - pub fn set_min(&mut self, min: usize) { - self.0 .0 = min; +impl CancellableBufReader { + pub fn new(reader: R, cancel: CancellationToken) -> Self { + CancellableBufReader { + buffer: BufReader::new( + BIN_READER_CAPACITY, + BIN_MIN_BUFFER_SPACE, + reader), + cancel + } } } -impl ReaderPolicy for CancallableMinBuffered { - fn before_read(&mut self, buffer: &mut Buffer) -> DoRead { - // do nothing if we have enough data - if buffer.len() >= self.0 .0 { - do_read!(false) +impl Read for CancellableBufReader { + fn read(&mut self, buffer: &mut [u8]) -> Result { + if self.cancel.is_cancelled() { + return Ok(0); } + + self.buffer.read(buffer) + } +} - let cap = buffer.capacity(); +impl BufRead for CancellableBufReader { + fn fill_buf(&mut self) -> Result<&[u8]> { + if self.cancel.is_cancelled() { + return Ok(&[][..]); + } + + self.buffer.fill_buf() + } - // if there's enough room but some of it's stuck after the head - if buffer.usable_space() < self.0 .0 && buffer.free_space() >= self.0 .0 { - buffer.make_room(); - } else if cap < self.0 .0 { - buffer.reserve(self.0 .0 - cap); + fn consume(&mut self, size: usize) { + if self.cancel.is_cancelled() { + return; } - DoRead(true) + self.buffer.consume(size) } } + +impl Seek for CancellableBufReader { + fn seek(&mut self, pos: SeekFrom) -> Result { + if self.cancel.is_cancelled() { + return Err(Error::from(ErrorKind::NotFound)); + } + + self.buffer.seek(pos) + } +} \ No newline at end of file diff --git a/application/apps/indexer/addons/text_grep/src/lib.rs b/application/apps/indexer/addons/text_grep/src/lib.rs index 831181b805..7047c2fb27 100644 --- a/application/apps/indexer/addons/text_grep/src/lib.rs +++ b/application/apps/indexer/addons/text_grep/src/lib.rs @@ -65,7 +65,6 @@ //! //! # Dependencies //! -//! - `buf_redux`: Provides buffered I/O functionality. //! - `grep_regex`: Facilitates regular expression searching. //! - `grep_searcher`: Implements file searching capabilities. //! - `regex`: Provides regular expression support. @@ -81,8 +80,7 @@ //! - Both case-sensitive and case-insensitive searches are supported based on user preference. pub mod buffer; -use crate::buffer::{CancallableMinBuffered, REDUX_MIN_BUFFER_SPACE, REDUX_READER_CAPACITY}; -use buf_redux::BufReader; +use crate::buffer::CancellableBufReader; use grep_regex::{RegexMatcher, RegexMatcherBuilder}; use grep_searcher::{sinks::UTF8, Searcher}; use regex::Regex; @@ -214,9 +212,7 @@ fn process_file( ) -> Result { let mut pattern_counts = HashMap::new(); let file = File::open(file_path)?; - let reader = BufReader::with_capacity(REDUX_READER_CAPACITY, file).set_policy( - CancallableMinBuffered((REDUX_MIN_BUFFER_SPACE, cancel_token.clone())), - ); + let reader = CancellableBufReader::new(file, cancel_token.clone()); let mut searcher = Searcher::new(); searcher .search_reader( diff --git a/application/apps/indexer/processor/Cargo.toml b/application/apps/indexer/processor/Cargo.toml index 8c1c812df7..dd0de53467 100644 --- a/application/apps/indexer/processor/Cargo.toml +++ b/application/apps/indexer/processor/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [dependencies] bincode = "1.3" -buf_redux = { git = "https://github.com/DmitryAstafyev/buf_redux.git" } +bufread.workspace = true bytecount = "0.6" futures.workspace = true grep-regex.workspace = true diff --git a/application/apps/indexer/processor/src/search/buffer.rs b/application/apps/indexer/processor/src/search/buffer.rs index b43ea9c79f..f3cd2e1b30 100644 --- a/application/apps/indexer/processor/src/search/buffer.rs +++ b/application/apps/indexer/processor/src/search/buffer.rs @@ -1,43 +1,62 @@ -use buf_redux::{ - do_read, - policy::{DoRead, ReaderPolicy}, - Buffer, -}; +// TODO this duplicates: application/apps/indexer/addons/text_grep/src/buffer.rs +use bufread::BufReader; use tokio_util::sync::CancellationToken; +use std::io::{BufRead, Read, Result, Seek, SeekFrom, Error, ErrorKind}; -pub const REDUX_READER_CAPACITY: usize = 1024 * 1024; -pub const REDUX_MIN_BUFFER_SPACE: usize = 10 * 1024; +const BIN_READER_CAPACITY: usize = 1024 * 1024; +const BIN_MIN_BUFFER_SPACE: usize = 10 * 1024; -#[derive(Debug)] -pub struct CancallableMinBuffered(pub (usize, CancellationToken)); +pub struct CancellableBufReader { + buffer: BufReader, + cancel: CancellationToken +} -impl CancallableMinBuffered { - /// Set the number of bytes to ensure are in the buffer. - pub fn set_min(&mut self, min: usize) { - self.0 .0 = min; +impl CancellableBufReader { + pub fn new(reader: R, cancel: CancellationToken) -> Self { + CancellableBufReader { + buffer: BufReader::new( + BIN_READER_CAPACITY, + BIN_MIN_BUFFER_SPACE, + reader), + cancel + } } } -impl ReaderPolicy for CancallableMinBuffered { - fn before_read(&mut self, buffer: &mut Buffer) -> DoRead { - // do nothing if we have enough data - if buffer.len() >= self.0 .0 { - do_read!(false) +impl Read for CancellableBufReader { + fn read(&mut self, buffer: &mut [u8]) -> Result { + if self.cancel.is_cancelled() { + return Ok(0); } + + self.buffer.read(buffer) + } +} - let cap = buffer.capacity(); +impl BufRead for CancellableBufReader { + fn fill_buf(&mut self) -> Result<&[u8]> { + if self.cancel.is_cancelled() { + return Ok(&[][..]); + } + + self.buffer.fill_buf() + } - // if there's enough room but some of it's stuck after the head - if buffer.usable_space() < self.0 .0 && buffer.free_space() >= self.0 .0 { - buffer.make_room(); - } else if cap < self.0 .0 { - buffer.reserve(self.0 .0 - cap); + fn consume(&mut self, size: usize) { + if self.cancel.is_cancelled() { + return; } - DoRead(true) + self.buffer.consume(size) } +} - fn is_paused(&mut self) -> bool { - self.0 .1.is_cancelled() +impl Seek for CancellableBufReader { + fn seek(&mut self, pos: SeekFrom) -> Result { + if self.cancel.is_cancelled() { + return Err(Error::from(ErrorKind::NotFound)); + } + + self.buffer.seek(pos) } -} +} \ No newline at end of file diff --git a/application/apps/indexer/processor/src/search/searchers/mod.rs b/application/apps/indexer/processor/src/search/searchers/mod.rs index f1339e2e95..737bb6b5c5 100644 --- a/application/apps/indexer/processor/src/search/searchers/mod.rs +++ b/application/apps/indexer/processor/src/search/searchers/mod.rs @@ -1,11 +1,10 @@ use crate::{ grabber::GrabError, search::{ - buffer::{CancallableMinBuffered, REDUX_MIN_BUFFER_SPACE, REDUX_READER_CAPACITY}, + buffer::CancellableBufReader, error::SearchError, }, }; -use buf_redux::BufReader as ReduxReader; use grep_regex::RegexMatcher; use grep_searcher::{sinks::UTF8, Searcher}; use std::{ @@ -68,7 +67,7 @@ impl BaseSearcher { &mut self, rows_count: u64, read_bytes: u64, - cancallation: CancellationToken, + cancel_token: CancellationToken, mut f: F, ) -> Result, SearchError> where @@ -101,10 +100,7 @@ impl BaseSearcher { let in_file = File::open(&self.file_path).map_err(|_| { GrabError::IoOperation(format!("Could not open file {:?}", self.file_path)) })?; - let mut in_file_reader = - ReduxReader::with_capacity(REDUX_READER_CAPACITY, in_file).set_policy( - CancallableMinBuffered((REDUX_MIN_BUFFER_SPACE, cancallation)), - ); + let mut in_file_reader = CancellableBufReader::new(in_file, cancel_token); in_file_reader .seek(SeekFrom::Start(self.bytes_read)) .map_err(|_| { diff --git a/application/apps/indexer/processor/src/text_source.rs b/application/apps/indexer/processor/src/text_source.rs index afcbb2ff4d..6bc39c61e9 100644 --- a/application/apps/indexer/processor/src/text_source.rs +++ b/application/apps/indexer/processor/src/text_source.rs @@ -2,7 +2,7 @@ use crate::grabber::{ identify_byte_range, ByteRange, ComputationResult, FilePart, GrabError, GrabMetadata, LineRange, Slot, }; -use buf_redux::{policy::MinBuffered, BufReader as ReduxReader}; +use bufread::BufReader; use log::{debug, error}; use std::{ fs, @@ -12,8 +12,8 @@ use std::{ }; use tokio_util::sync::CancellationToken; -const REDUX_READER_CAPACITY: usize = 1024 * 32; -const REDUX_MIN_BUFFER_SPACE: usize = 10 * 1024; +const BIN_READER_CAPACITY: usize = 1024 * 32; +const BIN_MIN_BUFFER_SPACE: usize = 10 * 1024; #[derive(Debug)] pub struct TextFileSource { @@ -135,8 +135,7 @@ impl TextFileSource { &self.path, byte_offset )) })?; - let mut reader = ReduxReader::with_capacity(REDUX_READER_CAPACITY, f) - .set_policy(MinBuffered(REDUX_MIN_BUFFER_SPACE)); + let mut reader = BufReader::new(BIN_READER_CAPACITY, BIN_MIN_BUFFER_SPACE, f); let mut pending: Option = None; loop { if let Some(shutdown_token) = &shutdown_token { diff --git a/application/apps/indexer/sources/Cargo.toml b/application/apps/indexer/sources/Cargo.toml index aeeb5b7b0b..bf1a74a1dd 100644 --- a/application/apps/indexer/sources/Cargo.toml +++ b/application/apps/indexer/sources/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [dependencies] async-stream = "0.3" -buf_redux.workspace = true +bufread.workspace = true bytes = "1.3" etherparse = "0.16" futures.workspace = true diff --git a/application/apps/indexer/sources/src/binary/pcap/legacy.rs b/application/apps/indexer/sources/src/binary/pcap/legacy.rs index fdb45c8a19..9ac0b20788 100644 --- a/application/apps/indexer/sources/src/binary/pcap/legacy.rs +++ b/application/apps/indexer/sources/src/binary/pcap/legacy.rs @@ -2,7 +2,7 @@ use crate::{ binary::pcap::debug_block, ByteSource, Error as SourceError, ReloadInfo, SourceFilter, TransportProtocol, }; -use buf_redux::Buffer; +use bufread::DeqBuffer; use etherparse::{SlicedPacket, TransportSlice}; use log::{debug, error, trace}; use pcap_parser::{traits::PcapReaderIterator, LegacyPcapReader, PcapBlockOwned, PcapError}; @@ -10,7 +10,7 @@ use std::io::Read; pub struct PcapLegacyByteSource { pcap_reader: LegacyPcapReader, - buffer: Buffer, + buffer: DeqBuffer, last_know_timestamp: Option, total: usize, } @@ -20,7 +20,7 @@ impl PcapLegacyByteSource { Ok(Self { pcap_reader: LegacyPcapReader::new(65536, reader) .map_err(|e| SourceError::Setup(format!("{e}")))?, - buffer: Buffer::new(), + buffer: DeqBuffer::new(8192), last_know_timestamp: None, total: 0, }) @@ -104,8 +104,8 @@ impl ByteSource for PcapLegacyByteSource { }), ) => { let actual_tp: TransportProtocol = actual.into(); - let received_bytes = self.buffer.copy_from_slice(payload); - let available_bytes = self.buffer.len(); + let received_bytes = self.buffer.write_from(payload); + let available_bytes = self.buffer.read_available(); if actual_tp == *wanted { Ok(Some(ReloadInfo::new( received_bytes, @@ -123,8 +123,8 @@ impl ByteSource for PcapLegacyByteSource { } } _ => { - let copied = self.buffer.copy_from_slice(payload); - let available_bytes = self.buffer.len(); + let copied = self.buffer.write_from(payload); + let available_bytes = self.buffer.read_available(); Ok(Some(ReloadInfo::new( copied, available_bytes, @@ -145,15 +145,15 @@ impl ByteSource for PcapLegacyByteSource { } fn current_slice(&self) -> &[u8] { - self.buffer.buf() + self.buffer.read_slice() } fn consume(&mut self, offset: usize) { - self.buffer.consume(offset); + self.buffer.read_done(offset); } fn len(&self) -> usize { - self.buffer.len() + self.buffer.read_available() } } diff --git a/application/apps/indexer/sources/src/binary/pcap/ng.rs b/application/apps/indexer/sources/src/binary/pcap/ng.rs index 027ba043bb..ea4eca85ee 100644 --- a/application/apps/indexer/sources/src/binary/pcap/ng.rs +++ b/application/apps/indexer/sources/src/binary/pcap/ng.rs @@ -2,7 +2,7 @@ use crate::{ binary::pcap::debug_block, ByteSource, Error as SourceError, ReloadInfo, SourceFilter, TransportProtocol, }; -use buf_redux::Buffer; +use bufread::DeqBuffer; use etherparse::{SlicedPacket, TransportSlice}; use log::{debug, error, trace}; use pcap_parser::{traits::PcapReaderIterator, PcapBlockOwned, PcapError, PcapNGReader}; @@ -10,7 +10,7 @@ use std::io::Read; pub struct PcapngByteSource { pcapng_reader: PcapNGReader, - buffer: Buffer, + buffer: DeqBuffer, last_know_timestamp: Option, total: usize, } @@ -20,7 +20,7 @@ impl PcapngByteSource { Ok(Self { pcapng_reader: PcapNGReader::new(65536, reader) .map_err(|e| SourceError::Setup(format!("{e}")))?, - buffer: Buffer::new(), + buffer: DeqBuffer::new(8192), last_know_timestamp: None, total: 0, }) @@ -108,8 +108,8 @@ impl ByteSource for PcapngByteSource { }), ) => { let actual_tp: TransportProtocol = actual.into(); - let received_bytes = self.buffer.copy_from_slice(payload); - let available_bytes = self.buffer.len(); + let received_bytes = self.buffer.write_from(payload); + let available_bytes = self.buffer.read_available(); if actual_tp == *wanted { Ok(Some(ReloadInfo::new( received_bytes, @@ -127,8 +127,8 @@ impl ByteSource for PcapngByteSource { } } _ => { - let copied = self.buffer.copy_from_slice(payload); - let available_bytes = self.buffer.len(); + let copied = self.buffer.write_from(payload); + let available_bytes = self.buffer.read_available(); Ok(Some(ReloadInfo::new( copied, available_bytes, @@ -149,15 +149,15 @@ impl ByteSource for PcapngByteSource { } fn current_slice(&self) -> &[u8] { - self.buffer.buf() + self.buffer.read_slice() } fn consume(&mut self, offset: usize) { - self.buffer.consume(offset); + self.buffer.read_done(offset); } fn len(&self) -> usize { - self.buffer.len() + self.buffer.read_available() } } diff --git a/application/apps/indexer/sources/src/binary/raw.rs b/application/apps/indexer/sources/src/binary/raw.rs index c6ca5779cd..164cc85fcf 100644 --- a/application/apps/indexer/sources/src/binary/raw.rs +++ b/application/apps/indexer/sources/src/binary/raw.rs @@ -2,14 +2,14 @@ use crate::{ ByteSource, Error as SourceError, ReloadInfo, SourceFilter, DEFAULT_MIN_BUFFER_SPACE, DEFAULT_READER_CAPACITY, }; -use buf_redux::{policy::MinBuffered, BufReader as ReduxReader}; +use bufread::BufReader; use std::io::{BufRead, Read, Seek}; pub struct BinaryByteSource where R: Read + Seek, { - reader: ReduxReader, + reader: BufReader, } impl BinaryByteSource @@ -18,8 +18,7 @@ where { /// create a new `BinaryByteSource` with default buffer settings for reading pub fn new(input: R) -> BinaryByteSource { - let reader = ReduxReader::with_capacity(DEFAULT_READER_CAPACITY, input) - .set_policy(MinBuffered(DEFAULT_MIN_BUFFER_SPACE)); + let reader = BufReader::new(DEFAULT_READER_CAPACITY, DEFAULT_MIN_BUFFER_SPACE, input); BinaryByteSource { reader } } @@ -27,15 +26,14 @@ where /// the `total_capacity` specifies how big the underlying used buffers should be at least /// the `min_space` will make sure that the buffer is filled with at least that many bytes pub fn custom(input: R, total_capacity: usize, min_space: usize) -> BinaryByteSource { - let reader = - ReduxReader::with_capacity(total_capacity, input).set_policy(MinBuffered(min_space)); + let reader = BufReader::new(total_capacity, min_space, input); BinaryByteSource { reader } } } impl ByteSource for BinaryByteSource { async fn load(&mut self, _: Option<&SourceFilter>) -> Result, SourceError> { - let initial_buf_len = self.reader.buf_len(); + let initial_buf_len = self.reader.len(); trace!( "before: capacity: {} (buf_len: {})", self.reader.capacity(), @@ -75,7 +73,7 @@ impl ByteSource for BinaryByteSource { } fn len(&self) -> usize { - self.reader.buf_len() + self.reader.len() } } diff --git a/application/apps/indexer/sources/src/command/process.rs b/application/apps/indexer/sources/src/command/process.rs index 759b0e1818..187852c4bd 100644 --- a/application/apps/indexer/sources/src/command/process.rs +++ b/application/apps/indexer/sources/src/command/process.rs @@ -1,5 +1,5 @@ use crate::{ByteSource, Error as SourceError, ReloadInfo, SourceFilter}; -use buf_redux::Buffer; +use bufread::DeqBuffer; use regex::{Captures, Regex}; use shellexpand::tilde; use std::{collections::HashMap, ffi::OsString, path::PathBuf, process::Stdio}; @@ -30,7 +30,7 @@ pub enum ProcessError { pub struct ProcessSource { process: Child, - buffer: Buffer, + buffer: DeqBuffer, stdout: FramedRead, stderr: FramedRead, stdin: ChildStdin, @@ -144,7 +144,7 @@ impl ProcessSource { .ok_or_else(|| ProcessError::Setup(String::from("Fail to get stdin handle")))?; Ok(Self { process, - buffer: Buffer::new(), + buffer: DeqBuffer::new(8192), stdout, stderr, stdin, @@ -183,9 +183,9 @@ impl ByteSource for ProcessSource { } if let Some(Ok(line)) = output { let stored = line.len() + 1; - self.buffer.copy_from_slice(line.as_bytes()); - self.buffer.copy_from_slice(b"\n"); - let available_bytes = self.buffer.len(); + self.buffer.write_from(line.as_bytes()); + self.buffer.write_from(b"\n"); + let available_bytes = self.buffer.read_available(); Ok(Some(ReloadInfo::new(stored, available_bytes, 0, None))) } else if let Some(Err(err)) = output { Err(SourceError::Unrecoverable(format!("{err}"))) @@ -195,15 +195,15 @@ impl ByteSource for ProcessSource { } fn current_slice(&self) -> &[u8] { - self.buffer.buf() + self.buffer.read_slice() } fn consume(&mut self, offset: usize) { - self.buffer.consume(offset); + self.buffer.read_done(offset); } fn len(&self) -> usize { - self.buffer.len() + self.buffer.read_available() } fn is_empty(&self) -> bool { diff --git a/application/apps/indexer/sources/src/serial/serialport.rs b/application/apps/indexer/sources/src/serial/serialport.rs index b5f9b8a20f..3dc1cf5d62 100644 --- a/application/apps/indexer/sources/src/serial/serialport.rs +++ b/application/apps/indexer/sources/src/serial/serialport.rs @@ -1,5 +1,5 @@ use crate::{ByteSource, Error as SourceError, ReloadInfo, SourceFilter}; -use buf_redux::Buffer; +use bufread::DeqBuffer; use bytes::{BufMut, BytesMut}; use futures::{ stream::{SplitSink, SplitStream, StreamExt}, @@ -79,7 +79,7 @@ fn stop_bits(stop_bits: &u8) -> StopBits { pub struct SerialSource { write_stream: SplitSink, Vec>, read_stream: SplitStream>, - buffer: Buffer, + buffer: DeqBuffer, amount: usize, send_data_delay: u8, } @@ -115,7 +115,7 @@ impl SerialSource { Ok(Self { write_stream, read_stream, - buffer: Buffer::new(), + buffer: DeqBuffer::new(8192), amount: 0, send_data_delay: config.send_data_delay, }) @@ -141,7 +141,7 @@ impl ByteSource for SerialSource { if self.amount == 0 { return Ok(None); } - self.buffer.copy_from_slice(received.as_bytes()); + self.buffer.write_from(received.as_bytes()); } Err(err) => { return Err(SourceError::Setup(format!("Failed to read stream: {err}"))); @@ -154,20 +154,20 @@ impl ByteSource for SerialSource { } } - let available_bytes = self.buffer.len(); + let available_bytes = self.buffer.read_available(); Ok(Some(ReloadInfo::new(self.amount, available_bytes, 0, None))) } fn current_slice(&self) -> &[u8] { - self.buffer.buf() + self.buffer.read_slice() } fn consume(&mut self, offset: usize) { - self.buffer.consume(offset); + self.buffer.read_done(offset); } fn len(&self) -> usize { - self.buffer.len() + self.buffer.read_available() } fn is_empty(&self) -> bool { diff --git a/application/apps/indexer/sources/src/socket/tcp.rs b/application/apps/indexer/sources/src/socket/tcp.rs index f1f7333c80..a6ab9e977c 100644 --- a/application/apps/indexer/sources/src/socket/tcp.rs +++ b/application/apps/indexer/sources/src/socket/tcp.rs @@ -1,9 +1,9 @@ use crate::{ByteSource, Error as SourceError, ReloadInfo, SourceFilter}; -use buf_redux::Buffer; +use bufread::DeqBuffer; use tokio::net::{TcpStream, ToSocketAddrs}; pub struct TcpSource { - buffer: Buffer, + buffer: DeqBuffer, socket: TcpStream, tmp_buffer: Vec, } @@ -13,7 +13,7 @@ const MAX_DATAGRAM_SIZE: usize = 65_507; impl TcpSource { pub async fn new(addr: A) -> Result { Ok(Self { - buffer: Buffer::new(), + buffer: DeqBuffer::new(8192), socket: TcpStream::connect(addr).await?, tmp_buffer: vec![0u8; MAX_DATAGRAM_SIZE], }) @@ -37,9 +37,9 @@ impl ByteSource for TcpSource { Ok(len) => { trace!("---> Received {} bytes", len); if len > 0 { - self.buffer.copy_from_slice(&self.tmp_buffer[..len]); + self.buffer.write_from(&self.tmp_buffer[..len]); } - let available_bytes = self.buffer.len(); + let available_bytes = self.buffer.read_available(); return Ok(Some(ReloadInfo::new(len, available_bytes, 0, None))); } Err(ref e) if e.kind() == std::io::ErrorKind::WouldBlock => { @@ -57,15 +57,15 @@ impl ByteSource for TcpSource { } fn current_slice(&self) -> &[u8] { - self.buffer.buf() + self.buffer.read_slice() } fn consume(&mut self, offset: usize) { - self.buffer.consume(offset) + self.buffer.read_done(offset); } fn len(&self) -> usize { - self.buffer.len() + self.buffer.read_available() } } diff --git a/application/apps/indexer/sources/src/socket/udp.rs b/application/apps/indexer/sources/src/socket/udp.rs index 6e32000d5b..9e4bfbe7dc 100644 --- a/application/apps/indexer/sources/src/socket/udp.rs +++ b/application/apps/indexer/sources/src/socket/udp.rs @@ -1,5 +1,5 @@ use crate::{ByteSource, Error as SourceError, ReloadInfo, SourceFilter}; -use buf_redux::Buffer; +use bufread::DeqBuffer; use log::trace; use std::net::{IpAddr, Ipv4Addr}; use thiserror::Error; @@ -20,7 +20,7 @@ pub enum UdpSourceError { } pub struct UdpSource { - buffer: Buffer, + buffer: DeqBuffer, socket: UdpSocket, tmp_buffer: Vec, } @@ -66,7 +66,7 @@ impl UdpSource { } Ok(Self { - buffer: Buffer::new(), + buffer: DeqBuffer::new(8192), socket, tmp_buffer: vec![0u8; MAX_DATAGRAM_SIZE], }) @@ -91,23 +91,23 @@ impl ByteSource for UdpSource { String::from_utf8_lossy(&self.tmp_buffer[..len]) ); if len > 0 { - self.buffer.copy_from_slice(&self.tmp_buffer[..len]); + self.buffer.write_from(&self.tmp_buffer[..len]); } - let available_bytes = self.buffer.len(); + let available_bytes = self.buffer.read_available(); Ok(Some(ReloadInfo::new(len, available_bytes, 0, None))) } fn current_slice(&self) -> &[u8] { - self.buffer.buf() + self.buffer.read_slice() } fn consume(&mut self, offset: usize) { - self.buffer.consume(offset) + self.buffer.read_done(offset); } fn len(&self) -> usize { - self.buffer.len() + self.buffer.read_available() } } diff --git a/application/apps/protocol/Cargo.lock b/application/apps/protocol/Cargo.lock index e28ca0e757..251582e50c 100644 --- a/application/apps/protocol/Cargo.lock +++ b/application/apps/protocol/Cargo.lock @@ -66,8 +66,7 @@ dependencies = [ [[package]] name = "dlt-core" version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b304e32f1164b8c2ef1dc746b32d321f25f88a32672f0f5bcba2df0f70a3b70" +source = "git+https://github.com/kruss/dlt-core.git?branch=remove_buf_redux#87c7cea8be5224790ba8457ff531b4b6804c1298" dependencies = [ "byteorder", "bytes", diff --git a/application/apps/rustcore/rs-bindings/Cargo.lock b/application/apps/rustcore/rs-bindings/Cargo.lock index 96297c41eb..c122744999 100644 --- a/application/apps/rustcore/rs-bindings/Cargo.lock +++ b/application/apps/rustcore/rs-bindings/Cargo.lock @@ -345,25 +345,9 @@ dependencies = [ ] [[package]] -name = "buf_redux" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f" -dependencies = [ - "memchr", - "safemem", - "slice-deque", -] - -[[package]] -name = "buf_redux" -version = "0.8.4" -source = "git+https://github.com/DmitryAstafyev/buf_redux.git#595d13446d3d90eb4834a3cee67c0f79e28f01d8" -dependencies = [ - "memchr", - "safemem", - "slice-deque", -] +name = "bufread" +version = "0.1.0" +source = "git+https://github.com/kruss/bufread#5dec80376c0cbbbf3c4f864cf88b965cceb67c3b" [[package]] name = "bumpalo" @@ -647,10 +631,9 @@ dependencies = [ [[package]] name = "dlt-core" version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b304e32f1164b8c2ef1dc746b32d321f25f88a32672f0f5bcba2df0f70a3b70" +source = "git+https://github.com/kruss/dlt-core.git?branch=remove_buf_redux#87c7cea8be5224790ba8457ff531b4b6804c1298" dependencies = [ - "buf_redux 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bufread", "byteorder", "bytes", "derive_more", @@ -1281,15 +1264,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "mach" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1" -dependencies = [ - "libc", -] - [[package]] name = "mach2" version = "0.4.2" @@ -1831,7 +1805,7 @@ name = "processor" version = "0.2.0" dependencies = [ "bincode", - "buf_redux 0.8.4 (git+https://github.com/DmitryAstafyev/buf_redux.git)", + "bufread", "bytecount", "futures", "grep-regex", @@ -2026,12 +2000,6 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - [[package]] name = "same-file" version = "1.0.6" @@ -2239,17 +2207,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "slice-deque" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffddf594f5f597f63533d897427a570dbaa9feabaaa06595b74b71b7014507d7" -dependencies = [ - "libc", - "mach", - "winapi", -] - [[package]] name = "smallvec" version = "1.13.2" @@ -2303,7 +2260,7 @@ name = "sources" version = "0.1.0" dependencies = [ "async-stream", - "buf_redux 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bufread", "bytes", "etherparse", "futures",