From b045d8028e6671c0be0c58a132fc3522f4977a9b Mon Sep 17 00:00:00 2001 From: Basti Ortiz <39114273+Some-Dood@users.noreply.github.com> Date: Fri, 15 Apr 2022 02:39:46 +0800 Subject: [PATCH] Deps: minimize Tokio features (#25) * Deps: use specific Tokio features * Deps: run `cargo update` * Refactor: move CLI-parsing outside Tokio runtime * Fix: use `parse` over `try_parse` Clap does special things behind the scenes before it exits. * Refactor: use `tokio::main` macro for convenience --- Cargo.lock | 40 ++++++++++++++-------------------------- Cargo.toml | 3 ++- src/main.rs | 12 +++++++----- 3 files changed, 23 insertions(+), 32 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 61e826c..50d7bc7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -278,9 +278,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.121" +version = "0.2.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f" +checksum = "cb691a747a7ab48abc15c5b42066eaafde10dc427e3b6ee2a1cf43db04c763bd" [[package]] name = "lock_api" @@ -438,18 +438,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" dependencies = [ "unicode-xid", ] [[package]] name = "quote" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58" +checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" dependencies = [ "proc-macro2", ] @@ -560,15 +560,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "signal-hook-registry" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" -dependencies = [ - "libc", -] - [[package]] name = "smallvec" version = "1.8.0" @@ -599,9 +590,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704df27628939572cd88d33f171cd6f896f4eaca85252c6e0a72d8d8287ee86f" +checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" dependencies = [ "proc-macro2", "quote", @@ -643,10 +634,7 @@ dependencies = [ "memchr", "mio", "num_cpus", - "once_cell", - "parking_lot", "pin-project-lite", - "signal-hook-registry", "socket2", "tokio-macros", "winapi", @@ -665,9 +653,9 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f" +checksum = "80b9fa4360528139bc96100c160b7ae879f5567f49f1782b0b02035b0358ebf3" dependencies = [ "cfg-if", "pin-project-lite", @@ -688,9 +676,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90442985ee2f57c9e1b548ee72ae842f4a9a20e3f417cc38dbc5dc684d9bb4ee" +checksum = "6dfce9f3241b150f36e8e54bb561a742d5daa1a47b5dd9a5ce369fd4a4db2210" dependencies = [ "lazy_static", "valuable", @@ -709,9 +697,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9df98b037d039d03400d9dd06b0f8ce05486b5f25e9a2d7d36196e142ebbc52" +checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" dependencies = [ "ansi_term", "sharded-slab", diff --git a/Cargo.toml b/Cargo.toml index ee54f7d..eaf6bde 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,7 +24,7 @@ hmac = "0.12.1" serde = { version = "1.0.136", features = ["derive"] } serde_json = "1.0.79" sha2 = "0.10.2" -tokio = { version = "1.17.0", features = ["full"] } +tokio = { version = "1.17.0", features = ["rt-multi-thread", "io-util", "macros", "net", "time"] } tracing = "0.1.32" tracing-subscriber = "0.3.10" uuid = { version = "0.8.2", features = ["serde", "v4"] } @@ -32,3 +32,4 @@ uuid = { version = "0.8.2", features = ["serde", "v4"] } [dev-dependencies] lazy_static = "1.4.0" rstest = "0.12.0" +tokio = { version = "1.17.0", features = ["sync"] } diff --git a/src/main.rs b/src/main.rs index 1007456..934e892 100644 --- a/src/main.rs +++ b/src/main.rs @@ -47,11 +47,8 @@ enum Command { } #[tokio::main] -async fn main() -> Result<()> { - tracing_subscriber::fmt::init(); - - let args = Args::parse(); - match args.command { +async fn run(command: Command) -> Result<()> { + match command { Command::Local { local_host, local_port, @@ -69,3 +66,8 @@ async fn main() -> Result<()> { Ok(()) } + +fn main() -> Result<()> { + tracing_subscriber::fmt::init(); + run(Args::parse().command) +}