v3client - ActiveState ActiveGo 1.8
...

Package v3client

import "github.com/coreos/etcd/etcdserver/api/v3client"
Overview
Index

Overview ▾

Package v3client provides clientv3 interfaces from an etcdserver.

Use v3client by creating an EtcdServer instance, then wrapping it with v3client.New:

import (
	"context"

	"github.com/coreos/etcd/embed"
	"github.com/coreos/etcd/etcdserver/api/v3client"
)

...

// create an embedded EtcdServer from the default configuration
cfg := embed.NewConfig()
cfg.Dir = "default.etcd"
e, err := embed.StartEtcd(cfg)
if err != nil {
	// handle error!
}

// wrap the EtcdServer with v3client
cli := v3client.New(e.Server)

// use like an ordinary clientv3
resp, err := cli.Put(context.TODO(), "some-key", "it works!")
if err != nil {
	// handle error!
}

func New

func New(s *etcdserver.EtcdServer) *clientv3.Client

New creates a clientv3 client that wraps an in-process EtcdServer. Instead of making gRPC calls through sockets, the client makes direct function calls to the etcd server through its api/v3rpc function interfaces.