...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package grpcproxy
16
17 import (
18 "context"
19
20 "go.etcd.io/etcd/client/v3"
21 "go.etcd.io/etcd/server/v3/etcdserver/api/v3lock/v3lockpb"
22 )
23
24 type lockProxy struct {
25 client *clientv3.Client
26 }
27
28 func NewLockProxy(client *clientv3.Client) v3lockpb.LockServer {
29 return &lockProxy{client: client}
30 }
31
32 func (lp *lockProxy) Lock(ctx context.Context, req *v3lockpb.LockRequest) (*v3lockpb.LockResponse, error) {
33 return v3lockpb.NewLockClient(lp.client.ActiveConnection()).Lock(ctx, req)
34 }
35
36 func (lp *lockProxy) Unlock(ctx context.Context, req *v3lockpb.UnlockRequest) (*v3lockpb.UnlockResponse, error) {
37 return v3lockpb.NewLockClient(lp.client.ActiveConnection()).Unlock(ctx, req)
38 }
39
View as plain text