type ls2lc … func LeaseServerToLeaseClient(ls pb.LeaseServer) pb.LeaseClient { … } func (c *ls2lc) LeaseGrant(ctx context.Context, in *pb.LeaseGrantRequest, opts ...grpc.CallOption) (*pb.LeaseGrantResponse, error) { … } func (c *ls2lc) LeaseRevoke(ctx context.Context, in *pb.LeaseRevokeRequest, opts ...grpc.CallOption) (*pb.LeaseRevokeResponse, error) { … } func (c *ls2lc) LeaseKeepAlive(ctx context.Context, opts ...grpc.CallOption) (pb.Lease_LeaseKeepAliveClient, error) { … } func (c *ls2lc) LeaseTimeToLive(ctx context.Context, in *pb.LeaseTimeToLiveRequest, opts ...grpc.CallOption) (*pb.LeaseTimeToLiveResponse, error) { … } func (c *ls2lc) LeaseLeases(ctx context.Context, in *pb.LeaseLeasesRequest, opts ...grpc.CallOption) (*pb.LeaseLeasesResponse, error) { … } type ls2lcClientStream … type ls2lcServerStream … func (s *ls2lcClientStream) Send(rr *pb.LeaseKeepAliveRequest) error { … } func (s *ls2lcClientStream) Recv() (*pb.LeaseKeepAliveResponse, error) { … } func (s *ls2lcServerStream) Send(rr *pb.LeaseKeepAliveResponse) error { … } func (s *ls2lcServerStream) Recv() (*pb.LeaseKeepAliveRequest, error) { … }