etcdctlv3: combine Watch, WatchPrefix

This commit is contained in:
Gyu-Ho Lee 2016-02-23 17:59:19 -08:00
parent a24d276891
commit 7a7751b994
2 changed files with 8 additions and 10 deletions

View File

@ -54,7 +54,7 @@ func snapshotToStdout(c *clientv3.Client) {
// must explicitly fetch first revision since no retry on stdout
wapi := clientv3.NewWatcher(c)
defer wapi.Close()
wr := <-wapi.WatchPrefix(context.TODO(), "", 1)
wr := <-wapi.Watch(context.TODO(), "", clientv3.WithPrefix(), clientv3.WithRev(1))
if len(wr.Events) > 0 {
wr.CompactRevision = 1
}

View File

@ -60,12 +60,11 @@ func watchCommandFunc(cmd *cobra.Command, args []string) {
c := mustClientFromCmd(cmd)
w := clientv3.NewWatcher(c)
var wc clientv3.WatchChan
if !watchPrefix {
wc = w.Watch(context.TODO(), args[0], watchRev)
} else {
wc = w.Watch(context.TODO(), args[0], watchRev)
opts := []clientv3.OpOption{clientv3.WithRev(watchRev)}
if watchPrefix {
opts = append(opts, clientv3.WithPrefix())
}
wc := w.Watch(context.TODO(), args[0], opts...)
printWatchCh(wc)
err := w.Close()
if err == nil {
@ -114,12 +113,11 @@ func watchInteractiveFunc(cmd *cobra.Command, args []string) {
if err != nil {
key = moreargs[0]
}
var ch clientv3.WatchChan
opts := []clientv3.OpOption{clientv3.WithRev(watchRev)}
if watchPrefix {
ch = w.WatchPrefix(context.TODO(), key, watchRev)
} else {
ch = w.Watch(context.TODO(), key, watchRev)
opts = append(opts, clientv3.WithPrefix())
}
ch := w.Watch(context.TODO(), key, opts...)
go printWatchCh(ch)
}
}