Merge pull request #6826 from feisan/dev-kvkv

clientv3/naming: support OpOption when adding an endpoint
This commit is contained in:
Xiang Li 2016-11-09 13:03:56 -08:00 committed by GitHub
commit 3ed63af51a

View File

@ -31,16 +31,16 @@ type GRPCResolver struct {
Client *etcd.Client Client *etcd.Client
} }
func (gr *GRPCResolver) Update(ctx context.Context, target string, nm naming.Update) (err error) { func (gr *GRPCResolver) Update(ctx context.Context, target string, nm naming.Update, opts ...etcd.OpOption) (err error) {
switch nm.Op { switch nm.Op {
case naming.Add: case naming.Add:
var v []byte var v []byte
if v, err = json.Marshal(nm); err != nil { if v, err = json.Marshal(nm); err != nil {
return grpc.Errorf(codes.InvalidArgument, err.Error()) return grpc.Errorf(codes.InvalidArgument, err.Error())
} }
_, err = gr.Client.KV.Put(ctx, target+"/"+nm.Addr, string(v)) _, err = gr.Client.KV.Put(ctx, target+"/"+nm.Addr, string(v), opts...)
case naming.Delete: case naming.Delete:
_, err = gr.Client.Delete(ctx, target+"/"+nm.Addr) _, err = gr.Client.Delete(ctx, target+"/"+nm.Addr, opts...)
default: default:
return grpc.Errorf(codes.InvalidArgument, "naming: bad naming op") return grpc.Errorf(codes.InvalidArgument, "naming: bad naming op")
} }