some work done

This commit is contained in:
ston1th 2021-03-01 07:40:10 +01:00
commit 09fe1cd163
13 changed files with 174 additions and 45 deletions

View file

@ -3,6 +3,7 @@ package etcd
import (
"context"
"errors"
"strings"
"git.giftfish.de/ston1th/vipman/pkg/cluster"
//"go.etcd.io/etcd/clientv3"
@ -52,6 +53,23 @@ func (c *Cluster) Get(k string) (v []byte, err error) {
return
}
func (c *Cluster) GetPrefix(k string) (m map[string][]byte, err error) {
r, err := c.cli.Get(c.ctx, c.kvPrefix+"/"+k, clientv3.WithPrefix())
if err != nil {
return
}
if len(r.Kvs) == 0 {
err = ErrKeyNotFound
return
}
m = make(map[string][]byte)
for _, kv := range r.Kvs {
k := strings.TrimPrefix(c.kvPrefix+"/", string(kv.Key))
m[k] = kv.Value
}
return
}
func (c *Cluster) Set(k string, v []byte) (err error) {
_, err = c.cli.Put(c.ctx, c.kvPrefix+"/"+k, string(v))
return