github.com/lingyao2333/mo-zero@v1.4.1/core/discov/internal/etcdclient.go (about) 1 //go:generate mockgen -package internal -destination etcdclient_mock.go -source etcdclient.go EtcdClient 2 3 package internal 4 5 import ( 6 "context" 7 8 clientv3 "go.etcd.io/etcd/client/v3" 9 "google.golang.org/grpc" 10 ) 11 12 // EtcdClient interface represents an etcd client. 13 type EtcdClient interface { 14 ActiveConnection() *grpc.ClientConn 15 Close() error 16 Ctx() context.Context 17 Get(ctx context.Context, key string, opts ...clientv3.OpOption) (*clientv3.GetResponse, error) 18 Grant(ctx context.Context, ttl int64) (*clientv3.LeaseGrantResponse, error) 19 KeepAlive(ctx context.Context, id clientv3.LeaseID) (<-chan *clientv3.LeaseKeepAliveResponse, error) 20 Put(ctx context.Context, key, val string, opts ...clientv3.OpOption) (*clientv3.PutResponse, error) 21 Revoke(ctx context.Context, id clientv3.LeaseID) (*clientv3.LeaseRevokeResponse, error) 22 Watch(ctx context.Context, key string, opts ...clientv3.OpOption) clientv3.WatchChan 23 }