diff options
author | Ferris Tseng <ferristseng@fastmail.fm> | 2018-01-23 20:17:55 -0500 |
---|---|---|
committer | Ferris Tseng <ferristseng@fastmail.fm> | 2018-01-23 20:17:55 -0500 |
commit | a6c716e771ac041323fefcc1d04dc98490c38eff (patch) | |
tree | e7f2932cad9d9da7b407a3a4a8d3570efb434cd7 /ipfs-cli/src | |
parent | c44b62ded3dd1faed5de96ffdea2fc4b3d5d8b4f (diff) |
add shutdown command
Diffstat (limited to 'ipfs-cli/src')
-rw-r--r-- | ipfs-cli/src/command/mod.rs | 1 | ||||
-rw-r--r-- | ipfs-cli/src/command/shutdown.rs | 23 | ||||
-rw-r--r-- | ipfs-cli/src/main.rs | 2 |
3 files changed, 26 insertions, 0 deletions
diff --git a/ipfs-cli/src/command/mod.rs b/ipfs-cli/src/command/mod.rs index 351bcf6..c19236b 100644 --- a/ipfs-cli/src/command/mod.rs +++ b/ipfs-cli/src/command/mod.rs @@ -36,4 +36,5 @@ pub mod dns; pub mod file; pub mod files; pub mod filestore; +pub mod shutdown; pub mod version; diff --git a/ipfs-cli/src/command/shutdown.rs b/ipfs-cli/src/command/shutdown.rs new file mode 100644 index 0000000..6cb9c1d --- /dev/null +++ b/ipfs-cli/src/command/shutdown.rs @@ -0,0 +1,23 @@ +// 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; +use command::EXPECTED_API; +use ipfs_api::IpfsClient; +use tokio_core::reactor::Core; + +pub fn signature<'a, 'b>() -> App<'a, 'b> { + clap_app!( + @subcommand shutdown => + (about: "Shutdown IPFS daemon") + ) +} + +pub fn handle(core: &mut Core, client: &IpfsClient) { + core.run(client.shutdown()).expect(EXPECTED_API); +} diff --git a/ipfs-cli/src/main.rs b/ipfs-cli/src/main.rs index b0262aa..eafa12c 100644 --- a/ipfs-cli/src/main.rs +++ b/ipfs-cli/src/main.rs @@ -39,6 +39,7 @@ fn main() { (subcommand: command::file::signature()) (subcommand: command::files::signature()) (subcommand: command::filestore::signature()) + (subcommand: command::shutdown::signature()) (subcommand: command::version::signature()) ).get_matches(); @@ -60,6 +61,7 @@ fn main() { ("file", Some(args)) => command::file::handle(&mut core, &client, args), ("files", Some(args)) => command::files::handle(&mut core, &client, args), ("filestore", Some(args)) => command::filestore::handle(&mut core, &client, args), + ("shutdown", _) => command::shutdown::handle(&mut core, &client), ("version", _) => command::version::handle(&mut core, &client), _ => unreachable!(), } |