diff options
author | Alex <alex@adnab.me> | 2022-07-04 12:45:32 +0200 |
---|---|---|
committer | Alex <alex@adnab.me> | 2022-07-04 12:45:32 +0200 |
commit | 0850bac874029f0b8b278d75537dd037e5db57da (patch) | |
tree | 6c5e6e30e6b224588c2296e36f2f3657161b46ae | |
parent | b74b533b7be4f43bb565a5f025cf6121933307f6 (diff) | |
download | garage-0850bac874029f0b8b278d75537dd037e5db57da.tar.gz garage-0850bac874029f0b8b278d75537dd037e5db57da.zip |
Add `poll` command to `k2v-cli` (#335)
Co-authored-by: Alex Auvolat <alex@adnab.me>
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/335
Co-authored-by: Alex <alex@adnab.me>
Co-committed-by: Alex <alex@adnab.me>
-rw-r--r-- | src/k2v-client/bin/k2v-cli.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/k2v-client/bin/k2v-cli.rs b/src/k2v-client/bin/k2v-cli.rs index 38c39361..884e7438 100644 --- a/src/k2v-client/bin/k2v-cli.rs +++ b/src/k2v-client/bin/k2v-cli.rs @@ -55,6 +55,19 @@ enum Command { #[clap(flatten)] output_kind: ReadOutputKind, }, + /// Watch changes on a single value + Poll { + /// Partition key to delete from + partition_key: String, + /// Sort key to delete from + sort_key: String, + /// Causality information + #[clap(short, long)] + causality: String, + /// Output formating + #[clap(flatten)] + output_kind: ReadOutputKind, + }, /// Delete a single value Delete { /// Partition key to delete from @@ -324,6 +337,21 @@ async fn main() -> Result<(), Error> { let res = client.read_item(&partition_key, &sort_key).await?; output_kind.display_output(res); } + Command::Poll { + partition_key, + sort_key, + causality, + output_kind, + } => { + let res_opt = client + .poll_item(&partition_key, &sort_key, causality.into(), None) + .await?; + if let Some(res) = res_opt { + output_kind.display_output(res); + } else { + println!("Delay expired and value didn't change."); + } + } Command::ReadIndex { output_kind, filter, |