diff options
author | Lars Wirzenius <liw@liw.fi> | 2021-07-22 17:47:51 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2021-07-23 19:23:12 +0300 |
commit | 0d6ff366b09fbe37764863cc672741ba34dea56d (patch) | |
tree | 5559f84178e92428905c3b8be7cf1d712df43ad1 /src/cmd | |
parent | 9a8f4be06cb476b8149ed4f73d2cb62add14873f (diff) | |
download | obnam2-0d6ff366b09fbe37764863cc672741ba34dea56d.tar.gz |
refactor: use async for "obnam list"
Sponsored-by: author
Diffstat (limited to 'src/cmd')
-rw-r--r-- | src/cmd/list.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/cmd/list.rs b/src/cmd/list.rs index 66036b9..691f2bf 100644 --- a/src/cmd/list.rs +++ b/src/cmd/list.rs @@ -1,16 +1,22 @@ -use crate::client::BackupClient; +use crate::client::AsyncBackupClient; use crate::config::ClientConfig; use crate::error::ObnamError; use structopt::StructOpt; +use tokio::runtime::Runtime; #[derive(Debug, StructOpt)] pub struct List {} impl List { pub fn run(&self, config: &ClientConfig) -> Result<(), ObnamError> { - let client = BackupClient::new(config)?; + let rt = Runtime::new()?; + rt.block_on(self.run_async(config)) + } + + async fn run_async(&self, config: &ClientConfig) -> Result<(), ObnamError> { + let client = AsyncBackupClient::new(config)?; - let generations = client.list_generations()?; + let generations = client.list_generations().await?; for finished in generations.iter() { println!("{} {}", finished.id(), finished.ended()); } |