From f8141db2c74f4852cc8cd1f6aa76aae00874a411 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Mon, 14 Aug 2017 11:28:47 -0700 Subject: [PATCH] proxy/grpcproxy: implement LeaseLeases API Signed-off-by: Gyu-Ho Lee --- proxy/grpcproxy/adapter/lease_client_adapter.go | 4 ++++ proxy/grpcproxy/lease.go | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/proxy/grpcproxy/adapter/lease_client_adapter.go b/proxy/grpcproxy/adapter/lease_client_adapter.go index d471fd914..c8c67ce6e 100644 --- a/proxy/grpcproxy/adapter/lease_client_adapter.go +++ b/proxy/grpcproxy/adapter/lease_client_adapter.go @@ -48,6 +48,10 @@ func (c *ls2lc) LeaseTimeToLive(ctx context.Context, in *pb.LeaseTimeToLiveReque return c.leaseServer.LeaseTimeToLive(ctx, in) } +func (c *ls2lc) LeaseLeases(ctx context.Context, in *pb.LeaseLeasesRequest, opts ...grpc.CallOption) (*pb.LeaseLeasesResponse, error) { + return c.leaseServer.LeaseLeases(ctx, in) +} + // ls2lcClientStream implements Lease_LeaseKeepAliveClient type ls2lcClientStream struct{ chanClientStream } diff --git a/proxy/grpcproxy/lease.go b/proxy/grpcproxy/lease.go index cd7481da8..cad013f6f 100644 --- a/proxy/grpcproxy/lease.go +++ b/proxy/grpcproxy/lease.go @@ -113,6 +113,22 @@ func (lp *leaseProxy) LeaseTimeToLive(ctx context.Context, rr *pb.LeaseTimeToLiv return rp, err } +func (lp *leaseProxy) LeaseLeases(ctx context.Context, rr *pb.LeaseLeasesRequest) (*pb.LeaseLeasesResponse, error) { + r, err := lp.lessor.Leases(ctx) + if err != nil { + return nil, err + } + leases := make([]*pb.LeaseStatus, len(r.Leases)) + for i := range r.Leases { + leases[i] = &pb.LeaseStatus{ID: int64(r.Leases[i].ID)} + } + rp := &pb.LeaseLeasesResponse{ + Header: r.ResponseHeader, + Leases: leases, + } + return rp, err +} + func (lp *leaseProxy) LeaseKeepAlive(stream pb.Lease_LeaseKeepAliveServer) error { lp.mu.Lock() select {