Merge pull request #7496 from heyitsanthony/v3client-doc

v3client: add example and godoc New
This commit is contained in:
Anthony Romano 2017-03-14 19:50:01 -07:00 committed by GitHub
commit 18a813a9fe
2 changed files with 32 additions and 0 deletions

View File

@ -13,4 +13,33 @@
// limitations under the License.
// 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)
//
// // use like an ordinary clientv3
// resp, err := cli.Put(context.TODO(), "some-key", "it works!")
// if err != nil {
// // handle error!
// }
//
package v3client

View File

@ -24,6 +24,9 @@ import (
"github.com/coreos/etcd/proxy/grpcproxy/adapter"
)
// 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.
func New(s *etcdserver.EtcdServer) *clientv3.Client {
c := clientv3.NewCtxClient(context.Background())