Skip to content

Commit

Permalink
v3client: add example and godoc New
Browse files Browse the repository at this point in the history
  • Loading branch information
Anthony Romano committed Mar 14, 2017
1 parent 781196f commit 01d1a57
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
29 changes: 29 additions & 0 deletions etcdserver/api/v3client/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
3 changes: 3 additions & 0 deletions etcdserver/api/v3client/v3client.go
Original file line number Diff line number Diff line change
Expand Up @@ -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())

Expand Down

0 comments on commit 01d1a57

Please sign in to comment.