diff --git a/Cargo.lock b/Cargo.lock index 73a9ce3..2fdbb6d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -131,17 +131,6 @@ version = "6.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" -[[package]] -name = "async-trait" -version = "0.1.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - [[package]] name = "atomic-waker" version = "1.1.2" @@ -178,12 +167,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "base-x" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" - [[package]] name = "base64" version = "0.21.7" @@ -223,15 +206,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -321,7 +295,7 @@ dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.1", + "strsim", ] [[package]] @@ -373,12 +347,6 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "const_fn" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373e9fafaa20882876db20562275ff58d50e0caa2590077fe7ce7bef90211d0d" - [[package]] name = "core-foundation" version = "0.9.4" @@ -465,19 +433,6 @@ dependencies = [ "cipher", ] -[[package]] -name = "curve25519-dalek" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle", - "zeroize", -] - [[package]] name = "curve25519-dalek" version = "4.1.2" @@ -487,11 +442,11 @@ dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", - "digest 0.10.7", + "digest", "fiat-crypto", "platforms", "rand_core 0.6.4", - "rustc_version 0.4.0", + "rustc_version", "serde", "subtle", "zeroize", @@ -508,52 +463,14 @@ dependencies = [ "syn 2.0.66", ] -[[package]] -name = "curve25519-dalek-ng" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b8dfd4d479156d9ad3fe6d1562f78ff31a9ba8831d3575126061541c7294e48" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "serde", - "subtle-ng", - "zeroize", -] - -[[package]] -name = "darling" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", -] - [[package]] name = "darling" version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ - "darling_core 0.20.9", - "darling_macro 0.20.9", -] - -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 1.0.109", + "darling_core", + "darling_macro", ] [[package]] @@ -566,28 +483,17 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim 0.11.1", + "strsim", "syn 2.0.66", ] -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote", - "syn 1.0.109", -] - [[package]] name = "darling_macro" version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ - "darling_core 0.20.9", + "darling_core", "quote", "syn 2.0.66", ] @@ -612,48 +518,23 @@ dependencies = [ "serde", ] -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "crypto-common", "subtle", ] -[[package]] -name = "discard" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" - [[package]] name = "dtoa" version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "serde", - "signature 1.6.4", -] - [[package]] name = "ed25519" version = "2.2.3" @@ -662,22 +543,7 @@ checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ "pkcs8", "serde", - "signature 2.2.0", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519 1.5.3", - "rand 0.7.3", - "serde", - "serde_bytes", - "sha2 0.9.9", - "zeroize", + "signature", ] [[package]] @@ -686,11 +552,11 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.2", - "ed25519 2.2.3", + "curve25519-dalek", + "ed25519", "rand_core 0.6.4", "serde", - "sha2 0.10.8", + "sha2", "subtle", "zeroize", ] @@ -720,16 +586,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "faketime" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdcfc2bfe63c760bba09679ed6cb3a001d409c5195b4490dced0dc0aa800582b" -dependencies = [ - "js-sys", - "tempfile", -] - [[package]] name = "fastrand" version = "2.1.0" @@ -896,15 +752,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "getopts" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" -dependencies = [ - "unicode-width", -] - [[package]] name = "getrandom" version = "0.1.16" @@ -1036,7 +883,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -1376,7 +1223,7 @@ dependencies = [ "base64 0.22.1", "chrono", "clap", - "curve25519-dalek 4.1.2", + "curve25519-dalek", "futures", "hex", "hex_fmt", @@ -1384,8 +1231,8 @@ dependencies = [ "julianday", "lox-library 0.1.0", "lox-zkp", - "lox_cli", - "lox_utils 0.1.0", + "lox_utils", + "memory-stats", "prometheus", "prometheus-client", "rand 0.8.5", @@ -1393,11 +1240,11 @@ dependencies = [ "reqwest", "serde", "serde_json", - "serde_with 3.8.1", - "sha1 0.10.6", + "serde_with", + "sha1", "sled", "thiserror", - "time 0.3.36", + "time", "tokio", "troll-patrol", ] @@ -1410,21 +1257,21 @@ dependencies = [ "base64 0.22.1", "bincode", "chrono", - "curve25519-dalek 4.1.2", - "ed25519-dalek 2.1.1", + "curve25519-dalek", + "ed25519-dalek", "hex_fmt", "lazy_static", "lox-zkp", "prometheus", "rand 0.8.5", "serde", - "serde_with 3.8.1", - "sha1 0.10.6", - "sha2 0.10.8", + "serde_with", + "sha1", + "sha2", "statistical", "subtle", "thiserror", - "time 0.3.36", + "time", ] [[package]] @@ -1436,21 +1283,21 @@ dependencies = [ "base64 0.22.1", "bincode", "chrono", - "curve25519-dalek 4.1.2", - "ed25519-dalek 2.1.1", + "curve25519-dalek", + "ed25519-dalek", "hex_fmt", "lazy_static", "lox-zkp", "prometheus", "rand 0.8.5", "serde", - "serde_with 3.8.1", - "sha1 0.10.6", - "sha2 0.10.8", + "serde_with", + "sha1", + "sha2", "statistical", "subtle", "thiserror", - "time 0.3.36", + "time", ] [[package]] @@ -1465,10 +1312,10 @@ dependencies = [ "lazy_static", "lox-library 0.1.0", "lox-zkp", - "lox_utils 0.1.0", + "lox_utils", "rand 0.7.3", "serde_json", - "time 0.3.36", + "time", "wasm-bindgen", ] @@ -1477,7 +1324,7 @@ name = "lox-zkp" version = "0.8.0" source = "git+https://gitlab.torproject.org/onyinyang/lox-zkp#4ca074986c8e6ded461c2b127bef8f40ee2b7665" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek", "merlin", "rand 0.8.5", "serde", @@ -1485,25 +1332,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "lox_cli" -version = "0.1.0" -dependencies = [ - "async-trait", - "bincode", - "curve25519-dalek-ng", - "ed25519-dalek 1.0.1", - "getopts", - "hyper 0.14.28", - "lox-library 0.1.0 (git+https://gitlab.torproject.org/vecna/lox.git)", - "lox_utils 0.1.0 (git+https://gitlab.torproject.org/vecna/lox.git)", - "serde", - "serde_json", - "serde_with 1.14.0", - "time 0.2.27", - "tokio", -] - [[package]] name = "lox_utils" version = "0.1.0" @@ -1514,21 +1342,7 @@ dependencies = [ "rand 0.8.5", "serde", "serde_json", - "serde_with 3.8.1", -] - -[[package]] -name = "lox_utils" -version = "0.1.0" -source = "git+https://gitlab.torproject.org/vecna/lox.git#69f8fdc1e49744d97db65ef56b0528f272363088" -dependencies = [ - "base64 0.22.1", - "chrono", - "lox-library 0.1.0 (git+https://gitlab.torproject.org/vecna/lox.git)", - "rand 0.8.5", - "serde", - "serde_json", - "serde_with 3.8.1", + "serde_with", ] [[package]] @@ -1547,6 +1361,16 @@ version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +[[package]] +name = "memory-stats" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34f79cf9964c5c9545493acda1263f1912f8d2c56c8a2ffee2606cb960acaacc" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "merlin" version = "3.0.0" @@ -1963,12 +1787,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - [[package]] name = "proc-macro2" version = "1.0.84" @@ -2246,7 +2064,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "sha1 0.10.6", + "sha1", "tokio", "tokio-stream", "tokio-util", @@ -2333,22 +2151,13 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - [[package]] name = "rustc_version" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.23", + "semver", ] [[package]] @@ -2480,27 +2289,12 @@ dependencies = [ "libc", ] -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - [[package]] name = "semver" version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - [[package]] name = "serde" version = "1.0.203" @@ -2510,15 +2304,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde_bytes" -version = "0.11.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" -dependencies = [ - "serde", -] - [[package]] name = "serde_derive" version = "1.0.203" @@ -2553,16 +2338,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_with" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" -dependencies = [ - "serde", - "serde_with_macros 1.5.2", -] - [[package]] name = "serde_with" version = "3.8.1" @@ -2577,20 +2352,8 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "serde_with_macros 3.8.1", - "time 0.3.36", -] - -[[package]] -name = "serde_with_macros" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" -dependencies = [ - "darling 0.13.4", - "proc-macro2", - "quote", - "syn 1.0.109", + "serde_with_macros", + "time", ] [[package]] @@ -2599,21 +2362,12 @@ version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" dependencies = [ - "darling 0.20.9", + "darling", "proc-macro2", "quote", "syn 2.0.66", ] -[[package]] -name = "sha1" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770" -dependencies = [ - "sha1_smol", -] - [[package]] name = "sha1" version = "0.10.6" @@ -2622,26 +2376,7 @@ checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha1_smol" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", + "digest", ] [[package]] @@ -2652,7 +2387,7 @@ checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -2661,7 +2396,7 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.10.7", + "digest", "keccak", ] @@ -2674,12 +2409,6 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - [[package]] name = "signature" version = "2.2.0" @@ -2759,15 +2488,6 @@ dependencies = [ "der", ] -[[package]] -name = "standback" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff" -dependencies = [ - "version_check", -] - [[package]] name = "statistical" version = "1.0.0" @@ -2791,61 +2511,6 @@ dependencies = [ "rand 0.8.5", ] -[[package]] -name = "stdweb" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" -dependencies = [ - "discard", - "rustc_version 0.2.3", - "stdweb-derive", - "stdweb-internal-macros", - "stdweb-internal-runtime", - "wasm-bindgen", -] - -[[package]] -name = "stdweb-derive" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" -dependencies = [ - "proc-macro2", - "quote", - "serde", - "serde_derive", - "syn 1.0.109", -] - -[[package]] -name = "stdweb-internal-macros" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" -dependencies = [ - "base-x", - "proc-macro2", - "quote", - "serde", - "serde_derive", - "serde_json", - "sha1 0.6.1", - "syn 1.0.109", -] - -[[package]] -name = "stdweb-internal-runtime" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "strsim" version = "0.11.1" @@ -2858,12 +2523,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" -[[package]] -name = "subtle-ng" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" - [[package]] name = "syn" version = "1.0.109" @@ -2945,21 +2604,6 @@ dependencies = [ "syn 2.0.66", ] -[[package]] -name = "time" -version = "0.2.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242" -dependencies = [ - "const_fn", - "libc", - "standback", - "stdweb", - "time-macros 0.1.1", - "version_check", - "winapi", -] - [[package]] name = "time" version = "0.3.36" @@ -2972,7 +2616,7 @@ dependencies = [ "powerfmt", "serde", "time-core", - "time-macros 0.2.18", + "time-macros", ] [[package]] @@ -2981,16 +2625,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" -[[package]] -name = "time-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1" -dependencies = [ - "proc-macro-hack", - "time-macros-impl", -] - [[package]] name = "time-macros" version = "0.2.18" @@ -3001,19 +2635,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "time-macros-impl" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f" -dependencies = [ - "proc-macro-hack", - "proc-macro2", - "quote", - "standback", - "syn 1.0.109", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -3178,15 +2799,15 @@ dependencies = [ [[package]] name = "troll-patrol" version = "0.1.0" +source = "git+https://git-crysp.uwaterloo.ca/vvecna/troll-patrol#18de3f58b012a6141d7ed119a7c62ac614d0af36" dependencies = [ "aes-gcm", "array-bytes", "bincode", "chrono", "clap", - "curve25519-dalek 4.1.2", - "ed25519-dalek 2.1.1", - "faketime", + "curve25519-dalek", + "ed25519-dalek", "futures", "hkdf", "http 1.1.0", @@ -3197,17 +2818,16 @@ dependencies = [ "julianday", "lazy_static", "lox-library 0.1.0 (git+https://gitlab.torproject.org/vecna/lox.git)", - "lox_cli", "nalgebra", "rand 0.8.5", "serde", "serde_json", - "serde_with 3.8.1", - "sha1 0.10.6", + "serde_with", + "sha1", "sha3", "sled", "statrs", - "time 0.3.36", + "time", "tokio", "tokio-cron", "x25519-dalek", @@ -3246,12 +2866,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-width" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" - [[package]] name = "universal-hash" version = "0.5.1" @@ -3603,7 +3217,7 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.2", + "curve25519-dalek", "rand_core 0.6.4", "serde", "zeroize", diff --git a/crates/lox-distributor/Cargo.toml b/crates/lox-distributor/Cargo.toml index 3ec4db2..a02cbe3 100644 --- a/crates/lox-distributor/Cargo.toml +++ b/crates/lox-distributor/Cargo.toml @@ -42,6 +42,8 @@ troll-patrol = { git = "https://git-crysp.uwaterloo.ca/vvecna/troll-patrol", ver array-bytes = "6.2.0" sha1 = "0.10" +memory-stats = "1.0.0" + [dependencies.chrono] version = "0.4.38" features = ["serde"] diff --git a/crates/lox-distributor/src/main.rs b/crates/lox-distributor/src/main.rs index 8c9336b..3c5e1ac 100644 --- a/crates/lox-distributor/src/main.rs +++ b/crates/lox-distributor/src/main.rs @@ -45,6 +45,9 @@ use tokio::{ time::{interval, sleep}, }; +#[cfg(feature = "simulation")] +use memory_stats::memory_stats; + async fn shutdown_signal() { tokio::signal::ctrl_c() .await @@ -216,6 +219,9 @@ async fn context_manager( metrics: Metrics, mut context_rx: mpsc::Receiver, ) { + #[cfg(feature = "simulation")] + let (mut max_physical_mem, mut max_virtual_mem) = (0, 0); + let (mut lox_db, context) = match DB::open_new_or_existing_db(db_config, roll_back_date, metrics) { Ok((lox_db, context)) => (lox_db, context), @@ -225,6 +231,18 @@ async fn context_manager( }; while let Some(cmd) = context_rx.recv().await { + #[cfg(feature = "simulation")] + if let Some(usage) = memory_stats() { + if usage.physical_mem > max_physical_mem { + max_physical_mem = usage.physical_mem; + } + if usage.virtual_mem > max_virtual_mem { + max_virtual_mem = usage.virtual_mem; + } + } else { + println!("Failed to get the current memory usage"); + } + use Command::*; match cmd { Rdsys { resources } => { @@ -267,6 +285,7 @@ async fn context_manager( lox_db.write_context(context.clone()); sleep(Duration::from_millis(1)).await; } + #[cfg(feature = "simulation")] TestRequest { req, sender } => { let response = test_handle(context.clone(), req).await; if let Err(e) = sender.send(response) { @@ -288,6 +307,11 @@ async fn context_manager( println!("Sending Shutdown Signal, all threads should shutdown."); drop(shutdown_sig); println!("Shutdown Sent."); + #[cfg(feature = "simulation")] + println!( + "\nMaximum physical memory usage: {}\nMaximum virtual memory usage: {}\n", + max_physical_mem, max_virtual_mem + ); } } } @@ -303,6 +327,7 @@ enum Command { req: Request, sender: oneshot::Sender, Infallible>>, }, + #[cfg(feature = "simulation")] TestRequest { req: Request, sender: oneshot::Sender, Infallible>>, @@ -402,6 +427,7 @@ async fn main() { async move { Ok::<_, Infallible>(service) } }); + #[cfg(feature = "simulation")] let test_make_service = make_service_fn(move |_conn: &AddrStream| { let request_tx = test_request_tx.clone(); let service = service_fn(move |req| { @@ -441,23 +467,32 @@ async fn main() { let server = Server::bind(&pub_addr).serve(make_service); let graceful = server.with_graceful_shutdown(shutdown_signal()); // Address for test commands - let test_addr = SocketAddr::from(([127, 0, 0, 1], config.test_port)); - let test_server = Server::bind(&test_addr).serve(test_make_service); - let test_graceful = test_server.with_graceful_shutdown(shutdown_signal()); + #[cfg(feature = "simulation")] + let (test_addr, test_graceful) = { + let test_addr = SocketAddr::from(([127, 0, 0, 1], config.test_port)); + let test_server = Server::bind(&test_addr).serve(test_make_service); + let test_graceful = test_server.with_graceful_shutdown(shutdown_signal()); + (test_addr, test_graceful) + }; // Address for connections from Troll Patrol let tp_addr = SocketAddr::from(([127, 0, 0, 1], config.troll_patrol_port)); let tp_server = Server::bind(&tp_addr).serve(tp_make_service); let tp_graceful = tp_server.with_graceful_shutdown(shutdown_signal()); println!("Listening on {}", pub_addr); + #[cfg(feature = "simulation")] println!("Listening on {}", test_addr); println!("Listening on {}", tp_addr); - let (a, b, c) = join!(graceful, test_graceful, tp_graceful); + #[cfg(not(feature = "simulation"))] + let (a, b) = join!(graceful, tp_graceful); + #[cfg(feature = "simulation")] + let (a, b, c) = join!(graceful, tp_graceful, test_graceful); if a.is_err() { eprintln!("server error: {}", a.unwrap_err()); } if b.is_err() { eprintln!("server error: {}", b.unwrap_err()); } + #[cfg(feature = "simulation")] if c.is_err() { eprintln!("server error: {}", c.unwrap_err()); }