var ErrNoAvailableEndpoints … var ErrOldCluster … type Client … // New creates a new etcdv3 client from a given configuration. func New(cfg Config) (*Client, error) { … } // NewCtxClient creates a client with a context but no underlying grpc // connection. This is useful for embedded cases that override the // service interface implementations and do not need connection management. func NewCtxClient(ctx context.Context, opts ...Option) *Client { … } type Option … // NewFromURL creates a new etcdv3 client from a URL. func NewFromURL(url string) (*Client, error) { … } // NewFromURLs creates a new etcdv3 client from URLs. func NewFromURLs(urls []string) (*Client, error) { … } // WithZapLogger is a NewCtxClient option that overrides the logger func WithZapLogger(lg *zap.Logger) Option { … } // WithLogger overrides the logger. // // Deprecated: Please use WithZapLogger or Logger field in clientv3.Config // // Does not changes grpcLogger, that can be explicitly configured // using grpc_zap.ReplaceGrpcLoggerV2(..) method. func (c *Client) WithLogger(lg *zap.Logger) *Client { … } // GetLogger gets the logger. // NOTE: This method is for internal use of etcd-client library and should not be used as general-purpose logger. func (c *Client) GetLogger() *zap.Logger { … } // Close shuts down the client's etcd connections. func (c *Client) Close() error { … } // Ctx is a context for "out of band" messages (e.g., for sending // "clean up" message when another context is canceled). It is // canceled on client Close(). func (c *Client) Ctx() context.Context { … } // Endpoints lists the registered endpoints for the client. func (c *Client) Endpoints() []string { … } // SetEndpoints updates client's endpoints. func (c *Client) SetEndpoints(eps ...string) { … } // Sync synchronizes client's endpoints with the known endpoints from the etcd membership. func (c *Client) Sync(ctx context.Context) error { … } func (c *Client) autoSync() { … } // dialSetupOpts gives the dial opts prior to any authentication. func (c *Client) dialSetupOpts(creds grpccredentials.TransportCredentials, dopts ...grpc.DialOption) (opts []grpc.DialOption, err error) { … } // Dial connects to a single endpoint using the client's config. func (c *Client) Dial(ep string) (*grpc.ClientConn, error) { … } func (c *Client) getToken(ctx context.Context) error { … } // dialWithBalancer dials the client's current load balanced resolver group. The scheme of the host // of the provided endpoint determines the scheme used for all endpoints of the client connection. func (c *Client) dialWithBalancer(dopts ...grpc.DialOption) (*grpc.ClientConn, error) { … } // dial configures and dials any grpc balancer target. func (c *Client) dial(creds grpccredentials.TransportCredentials, dopts ...grpc.DialOption) (*grpc.ClientConn, error) { … } func authority(endpoint string) string { … } func (c *Client) credentialsForEndpoint(ep string) grpccredentials.TransportCredentials { … } func newClient(cfg *Config) (*Client, error) { … } // roundRobinQuorumBackoff retries against quorum between each backoff. // This is intended for use with a round robin load balancer. func (c *Client) roundRobinQuorumBackoff(waitBetween time.Duration, jitterFraction float64) backoffFunc { … } func (c *Client) checkVersion() (err error) { … } // ActiveConnection returns the current in-use connection func (c *Client) ActiveConnection() *grpc.ClientConn { … } // isHaltErr returns true if the given error and context indicate no forward // progress can be made, even after reconnecting. func isHaltErr(ctx context.Context, err error) bool { … } // isUnavailableErr returns true if the given error is an unavailable error func isUnavailableErr(ctx context.Context, err error) bool { … } // ContextError converts the error into an EtcdError if the error message matches one of // the defined messages; otherwise, it tries to retrieve the context error. func ContextError(ctx context.Context, err error) error { … } func canceledByCaller(stopCtx context.Context, err error) bool { … } // IsConnCanceled returns true, if error is from a closed gRPC connection. // ref. https://github.com/grpc/grpc-go/pull/1854 func IsConnCanceled(err error) bool { … }