clientv3/leasing/kv.go
func (lkv *leasingKV) rescind(ctx context.Context, key string, rev int64) {
	if lkv.leases.Evict(key) > rev {
		return
	}
	cmp := v3.Compare(v3.CreateRevision(lkv.pfx+key), "<", rev)
	op := v3.OpDelete(lkv.pfx + key)
	for ctx.Err() == nil {
		if _, err := lkv.kv.Txn(ctx).If(cmp).Then(op).Commit(); err == nil {
			return
		}
	}
}
func (lkv *leasingKV) rescind(ctx context.Context, key string, rev int64) {
	if lkv.leases.Evict(key) > rev {
		return
	}
	cmp := v3.Compare(v3.CreateRevision(lkv.pfx+key), "<", rev)
	op := v3.OpDelete(lkv.pfx + key)
	for ctx.Err() == nil {
		if _, err := lkv.kv.Txn(ctx).If(cmp).Then(op).Commit(); err == nil {
			return
		}
	}
}
func ( lkv * leasingKV ) rescind ( ctx context . Context , key string , rev int64 ) { if lkv . leases . Evict ( key ) > rev { return } cmp := v3 . Compare ( v3 . CreateRevision ( lkv . pfx + key ) , " " , rev ) op := v3 . OpDelete ( lkv . pfx + key ) for ctx . Err ( ) == nil { if _ , err := lkv . kv . Txn ( ctx ) . If ( cmp ) . Then ( op ) . Commit ( ) ; err == nil { return } } }
// rescind releases a lease from this client.
rescind releases a lease from this client .