1// Copyright 2016 The etcd Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// +build !cluster_proxy
16
17package integration
18
19import (
20	"github.com/coreos/etcd/clientv3"
21	"github.com/coreos/etcd/etcdserver/api/v3election/v3electionpb"
22	"github.com/coreos/etcd/etcdserver/api/v3lock/v3lockpb"
23	pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
24)
25
26func toGRPC(c *clientv3.Client) grpcAPI {
27	return grpcAPI{
28		pb.NewClusterClient(c.ActiveConnection()),
29		pb.NewKVClient(c.ActiveConnection()),
30		pb.NewLeaseClient(c.ActiveConnection()),
31		pb.NewWatchClient(c.ActiveConnection()),
32		pb.NewMaintenanceClient(c.ActiveConnection()),
33		pb.NewAuthClient(c.ActiveConnection()),
34		v3lockpb.NewLockClient(c.ActiveConnection()),
35		v3electionpb.NewElectionClient(c.ActiveConnection()),
36	}
37}
38
39func newClientV3(cfg clientv3.Config) (*clientv3.Client, error) {
40	return clientv3.New(cfg)
41}
42