diff options
author | Ferris Tseng <ferristseng@fastmail.fm> | 2017-11-26 11:42:51 -0500 |
---|---|---|
committer | Ferris Tseng <ferristseng@fastmail.fm> | 2017-11-26 11:42:51 -0500 |
commit | edcf3de74d9e0b26fe38b4989b6d73395cf8605e (patch) | |
tree | d9148bfc1b2601f95ba5b71cd82d98c26c398336 /ipfs-cli | |
parent | a419d102241c11e47ffc9476dd1800e70fd94320 (diff) |
add diag commands
Diffstat (limited to 'ipfs-cli')
-rw-r--r-- | ipfs-cli/src/command/bitswap.rs | 4 | ||||
-rw-r--r-- | ipfs-cli/src/command/dht.rs | 4 | ||||
-rw-r--r-- | ipfs-cli/src/command/diag.rs | 76 | ||||
-rw-r--r-- | ipfs-cli/src/command/mod.rs | 1 | ||||
-rw-r--r-- | ipfs-cli/src/main.rs | 2 |
5 files changed, 85 insertions, 2 deletions
diff --git a/ipfs-cli/src/command/bitswap.rs b/ipfs-cli/src/command/bitswap.rs index f3ccb0a..798670b 100644 --- a/ipfs-cli/src/command/bitswap.rs +++ b/ipfs-cli/src/command/bitswap.rs @@ -74,7 +74,9 @@ pub fn handle(core: &mut Core, client: &IpfsClient, args: &ArgMatches) { core.run(client.bitswap_unwant(&key)).expect(EXPECTED_API); - println!("OK"); + println!(""); + println!(" OK"); + println!(""); } ("wantlist", Some(args)) => { let peer = args.value_of("PEER"); diff --git a/ipfs-cli/src/command/dht.rs b/ipfs-cli/src/command/dht.rs index fbad7ac..44d4aa0 100644 --- a/ipfs-cli/src/command/dht.rs +++ b/ipfs-cli/src/command/dht.rs @@ -104,5 +104,7 @@ pub fn handle(core: &mut Core, client: &IpfsClient, args: &ArgMatches) { _ => unreachable!(), }; - core.run(req.for_each(print_dht_response)).expect(EXPECTED_API); + core.run(req.for_each(print_dht_response)).expect( + EXPECTED_API, + ); } diff --git a/ipfs-cli/src/command/diag.rs b/ipfs-cli/src/command/diag.rs new file mode 100644 index 0000000..24f65aa --- /dev/null +++ b/ipfs-cli/src/command/diag.rs @@ -0,0 +1,76 @@ +// Copyright 2017 rust-ipfs-api Developers +// +// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or +// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or +// http://opensource.org/licenses/MIT>, at your option. This file may not be +// copied, modified, or distributed except according to those terms. +// + +use clap::{App, Arg, ArgMatches, SubCommand}; +use command::EXPECTED_API; +use ipfs_api::IpfsClient; +use tokio_core::reactor::Core; + + +pub fn signature<'a, 'b>() -> App<'a, 'b> { + // The clap macro does not allow hyphenated command names, + // so the `set-time` command has to be manually instantiated. + // + let set_time_command = SubCommand::with_name("set-time") + .about("Set how long to keep inactive requests in the log") + .arg(Arg::with_name("TIME").required(true).index(1).help( + "Time to keep inactive requests in the log", + )); + + clap_app!( + @subcommand diag => + (@setting SubcommandRequiredElseHelp) + (@subcommand cmds => + (@setting SubcommandRequiredElseHelp) + (@subcommand clear => + (about: "Clear inactive requests from the log") + ) + (subcommand: set_time_command) + ) + (@subcommand sys => + (about: "Print system diagnostic information") + ) + ) +} + + +pub fn handle(core: &mut Core, client: &IpfsClient, args: &ArgMatches) { + match args.subcommand() { + ("cmds", Some(args)) => { + match args.subcommand() { + ("clear", _) => { + core.run(client.diag_cmds_clear()).expect(EXPECTED_API); + + println!(""); + println!(" OK"); + println!(""); + } + ("set-time", Some(args)) => { + let time = args.value_of("TIME").unwrap(); + + core.run(client.diag_cmds_set_time(&time)).expect( + EXPECTED_API, + ); + + println!(""); + println!(" OK"); + println!(""); + } + _ => unreachable!(), + } + } + ("sys", _) => { + let sys = core.run(client.diag_sys()).expect(EXPECTED_API); + + println!(""); + println!(" {}", sys); + println!(""); + } + _ => unreachable!(), + } +} diff --git a/ipfs-cli/src/command/mod.rs b/ipfs-cli/src/command/mod.rs index cfb5582..11df651 100644 --- a/ipfs-cli/src/command/mod.rs +++ b/ipfs-cli/src/command/mod.rs @@ -34,4 +34,5 @@ pub mod commands; pub mod config; pub mod dag; pub mod dht; +pub mod diag; pub mod version; diff --git a/ipfs-cli/src/main.rs b/ipfs-cli/src/main.rs index 92bfc29..a096bc8 100644 --- a/ipfs-cli/src/main.rs +++ b/ipfs-cli/src/main.rs @@ -34,6 +34,7 @@ fn main() { (subcommand: command::config::signature()) (subcommand: command::dag::signature()) (subcommand: command::dht::signature()) + (subcommand: command::diag::signature()) (subcommand: command::version::signature()) ).get_matches(); @@ -50,6 +51,7 @@ fn main() { ("config", Some(args)) => command::config::handle(&mut core, &client, &args), ("dag", Some(args)) => command::dag::handle(&mut core, &client, &args), ("dht", Some(args)) => command::dht::handle(&mut core, &client, &args), + ("diag", Some(args)) => command::diag::handle(&mut core, &client, &args), ("version", _) => command::version::handle(&mut core, &client), _ => unreachable!(), } |