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  }