// Copyright 2016 The etcd Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package clientv3 import ( pb "github.com/coreos/etcd/etcdserver/etcdserverpb" "golang.org/x/net/context" ) type ( LeaseRevokeResponse pb.LeaseRevokeResponse LeaseID int64 ) // LeaseGrantResponse wraps the protobuf message LeaseGrantResponse. type LeaseGrantResponse struct { *pb.ResponseHeader ID LeaseID TTL int64 Error string } type Lease interface { // Grant creates a new lease. Grant(ctx context.Context, ttl int64) (*LeaseGrantResponse, error) } type lessor struct { } func (l *lessor) Grant(ctx context.Context, ttl int64) (*LeaseGrantResponse, error) { return &LeaseGrantResponse{ ResponseHeader: &pb.ResponseHeader{}, TTL: ttl, ID: LeaseID(ttl), }, nil }