/*
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this
work for additional information regarding copyright ownership. The ASF
licenses this file to You 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.
*/
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.0
// 	protoc        v3.21.1
// source: kv.proto

package kv

import (
	reflect "reflect"
	sync "sync"
	hugegraph_pd_grpc "vermeer/apps/protos/hugegraph-pd-grpc"
	_ "vermeer/apps/protos/hugegraph-pd-grpc/metapb"

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type WatchType int32

const (
	WatchType_Put          WatchType = 0
	WatchType_Delete       WatchType = 1
	WatchType_Unrecognized WatchType = 2
)

// Enum value maps for WatchType.
var (
	WatchType_name = map[int32]string{
		0: "Put",
		1: "Delete",
		2: "Unrecognized",
	}
	WatchType_value = map[string]int32{
		"Put":          0,
		"Delete":       1,
		"Unrecognized": 2,
	}
)

func (x WatchType) Enum() *WatchType {
	p := new(WatchType)
	*p = x
	return p
}

func (x WatchType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (WatchType) Descriptor() protoreflect.EnumDescriptor {
	return file_kv_proto_enumTypes[0].Descriptor()
}

func (WatchType) Type() protoreflect.EnumType {
	return &file_kv_proto_enumTypes[0]
}

func (x WatchType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use WatchType.Descriptor instead.
func (WatchType) EnumDescriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{0}
}

type WatchState int32

const (
	WatchState_Starting       WatchState = 0
	WatchState_Started        WatchState = 1
	WatchState_Leader_Changed WatchState = 2
	WatchState_Alive          WatchState = 3
)

// Enum value maps for WatchState.
var (
	WatchState_name = map[int32]string{
		0: "Starting",
		1: "Started",
		2: "Leader_Changed",
		3: "Alive",
	}
	WatchState_value = map[string]int32{
		"Starting":       0,
		"Started":        1,
		"Leader_Changed": 2,
		"Alive":          3,
	}
)

func (x WatchState) Enum() *WatchState {
	p := new(WatchState)
	*p = x
	return p
}

func (x WatchState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (WatchState) Descriptor() protoreflect.EnumDescriptor {
	return file_kv_proto_enumTypes[1].Descriptor()
}

func (WatchState) Type() protoreflect.EnumType {
	return &file_kv_proto_enumTypes[1]
}

func (x WatchState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use WatchState.Descriptor instead.
func (WatchState) EnumDescriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{1}
}

// requests
type Kv struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header *hugegraph_pd_grpc.RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Key    string                           `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	Value  string                           `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *Kv) Reset() {
	*x = Kv{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Kv) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Kv) ProtoMessage() {}

func (x *Kv) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Kv.ProtoReflect.Descriptor instead.
func (*Kv) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{0}
}

func (x *Kv) GetHeader() *hugegraph_pd_grpc.RequestHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *Kv) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *Kv) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

type KvResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header *hugegraph_pd_grpc.ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
}

func (x *KvResponse) Reset() {
	*x = KvResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *KvResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*KvResponse) ProtoMessage() {}

func (x *KvResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use KvResponse.ProtoReflect.Descriptor instead.
func (*KvResponse) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{1}
}

func (x *KvResponse) GetHeader() *hugegraph_pd_grpc.ResponseHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

type K struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header *hugegraph_pd_grpc.RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Key    string                           `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
}

func (x *K) Reset() {
	*x = K{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *K) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*K) ProtoMessage() {}

func (x *K) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use K.ProtoReflect.Descriptor instead.
func (*K) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{2}
}

func (x *K) GetHeader() *hugegraph_pd_grpc.RequestHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *K) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

type KResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header *hugegraph_pd_grpc.ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Value  string                            `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *KResponse) Reset() {
	*x = KResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *KResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*KResponse) ProtoMessage() {}

func (x *KResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use KResponse.ProtoReflect.Descriptor instead.
func (*KResponse) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{3}
}

func (x *KResponse) GetHeader() *hugegraph_pd_grpc.ResponseHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *KResponse) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

type ScanPrefixResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header *hugegraph_pd_grpc.ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Kvs    map[string]string                 `protobuf:"bytes,2,rep,name=kvs,proto3" json:"kvs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *ScanPrefixResponse) Reset() {
	*x = ScanPrefixResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ScanPrefixResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ScanPrefixResponse) ProtoMessage() {}

func (x *ScanPrefixResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ScanPrefixResponse.ProtoReflect.Descriptor instead.
func (*ScanPrefixResponse) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{4}
}

func (x *ScanPrefixResponse) GetHeader() *hugegraph_pd_grpc.ResponseHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ScanPrefixResponse) GetKvs() map[string]string {
	if x != nil {
		return x.Kvs
	}
	return nil
}

type LockRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header   *hugegraph_pd_grpc.RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Key      string                           `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	Ttl      int64                            `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
	ClientId int64                            `protobuf:"varint,4,opt,name=clientId,proto3" json:"clientId,omitempty"`
}

func (x *LockRequest) Reset() {
	*x = LockRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LockRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LockRequest) ProtoMessage() {}

func (x *LockRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LockRequest.ProtoReflect.Descriptor instead.
func (*LockRequest) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{5}
}

func (x *LockRequest) GetHeader() *hugegraph_pd_grpc.RequestHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *LockRequest) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *LockRequest) GetTtl() int64 {
	if x != nil {
		return x.Ttl
	}
	return 0
}

func (x *LockRequest) GetClientId() int64 {
	if x != nil {
		return x.ClientId
	}
	return 0
}

type LockResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header   *hugegraph_pd_grpc.ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Key      string                            `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	Ttl      int64                             `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
	ClientId int64                             `protobuf:"varint,4,opt,name=clientId,proto3" json:"clientId,omitempty"`
	Succeed  bool                              `protobuf:"varint,5,opt,name=succeed,proto3" json:"succeed,omitempty"`
}

func (x *LockResponse) Reset() {
	*x = LockResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LockResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LockResponse) ProtoMessage() {}

func (x *LockResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LockResponse.ProtoReflect.Descriptor instead.
func (*LockResponse) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{6}
}

func (x *LockResponse) GetHeader() *hugegraph_pd_grpc.ResponseHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *LockResponse) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *LockResponse) GetTtl() int64 {
	if x != nil {
		return x.Ttl
	}
	return 0
}

func (x *LockResponse) GetClientId() int64 {
	if x != nil {
		return x.ClientId
	}
	return 0
}

func (x *LockResponse) GetSucceed() bool {
	if x != nil {
		return x.Succeed
	}
	return false
}

type LockAliveResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header   *hugegraph_pd_grpc.ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	ClientId int64                             `protobuf:"varint,2,opt,name=clientId,proto3" json:"clientId,omitempty"`
}

func (x *LockAliveResponse) Reset() {
	*x = LockAliveResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LockAliveResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LockAliveResponse) ProtoMessage() {}

func (x *LockAliveResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LockAliveResponse.ProtoReflect.Descriptor instead.
func (*LockAliveResponse) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{7}
}

func (x *LockAliveResponse) GetHeader() *hugegraph_pd_grpc.ResponseHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *LockAliveResponse) GetClientId() int64 {
	if x != nil {
		return x.ClientId
	}
	return 0
}

type WatchKv struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *WatchKv) Reset() {
	*x = WatchKv{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WatchKv) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchKv) ProtoMessage() {}

func (x *WatchKv) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchKv.ProtoReflect.Descriptor instead.
func (*WatchKv) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{8}
}

func (x *WatchKv) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *WatchKv) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

type WatchEvent struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Current *WatchKv  `protobuf:"bytes,1,opt,name=current,proto3" json:"current,omitempty"`
	Prev    *WatchKv  `protobuf:"bytes,2,opt,name=prev,proto3" json:"prev,omitempty"`
	Type    WatchType `protobuf:"varint,3,opt,name=type,proto3,enum=kv.WatchType" json:"type,omitempty"`
}

func (x *WatchEvent) Reset() {
	*x = WatchEvent{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WatchEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchEvent) ProtoMessage() {}

func (x *WatchEvent) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchEvent.ProtoReflect.Descriptor instead.
func (*WatchEvent) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{9}
}

func (x *WatchEvent) GetCurrent() *WatchKv {
	if x != nil {
		return x.Current
	}
	return nil
}

func (x *WatchEvent) GetPrev() *WatchKv {
	if x != nil {
		return x.Prev
	}
	return nil
}

func (x *WatchEvent) GetType() WatchType {
	if x != nil {
		return x.Type
	}
	return WatchType_Put
}

type WatchResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header   *hugegraph_pd_grpc.ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Events   []*WatchEvent                     `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"`
	ClientId int64                             `protobuf:"varint,3,opt,name=clientId,proto3" json:"clientId,omitempty"`
	State    WatchState                        `protobuf:"varint,4,opt,name=state,proto3,enum=kv.WatchState" json:"state,omitempty"`
}

func (x *WatchResponse) Reset() {
	*x = WatchResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WatchResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchResponse) ProtoMessage() {}

func (x *WatchResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchResponse.ProtoReflect.Descriptor instead.
func (*WatchResponse) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{10}
}

func (x *WatchResponse) GetHeader() *hugegraph_pd_grpc.ResponseHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *WatchResponse) GetEvents() []*WatchEvent {
	if x != nil {
		return x.Events
	}
	return nil
}

func (x *WatchResponse) GetClientId() int64 {
	if x != nil {
		return x.ClientId
	}
	return 0
}

func (x *WatchResponse) GetState() WatchState {
	if x != nil {
		return x.State
	}
	return WatchState_Starting
}

type WatchRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header   *hugegraph_pd_grpc.RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	State    WatchState                       `protobuf:"varint,2,opt,name=state,proto3,enum=kv.WatchState" json:"state,omitempty"`
	Key      string                           `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
	ClientId int64                            `protobuf:"varint,4,opt,name=clientId,proto3" json:"clientId,omitempty"`
}

func (x *WatchRequest) Reset() {
	*x = WatchRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WatchRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchRequest) ProtoMessage() {}

func (x *WatchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchRequest.ProtoReflect.Descriptor instead.
func (*WatchRequest) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{11}
}

func (x *WatchRequest) GetHeader() *hugegraph_pd_grpc.RequestHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *WatchRequest) GetState() WatchState {
	if x != nil {
		return x.State
	}
	return WatchState_Starting
}

func (x *WatchRequest) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *WatchRequest) GetClientId() int64 {
	if x != nil {
		return x.ClientId
	}
	return 0
}

type V struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	Ttl   int64  `protobuf:"varint,2,opt,name=ttl,proto3" json:"ttl,omitempty"`
	St    int64  `protobuf:"varint,3,opt,name=st,proto3" json:"st,omitempty"`
}

func (x *V) Reset() {
	*x = V{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *V) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*V) ProtoMessage() {}

func (x *V) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use V.ProtoReflect.Descriptor instead.
func (*V) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{12}
}

func (x *V) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

func (x *V) GetTtl() int64 {
	if x != nil {
		return x.Ttl
	}
	return 0
}

func (x *V) GetSt() int64 {
	if x != nil {
		return x.St
	}
	return 0
}

type TTLRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header *hugegraph_pd_grpc.RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Key    string                           `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	Value  string                           `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	Ttl    int64                            `protobuf:"varint,4,opt,name=ttl,proto3" json:"ttl,omitempty"`
}

func (x *TTLRequest) Reset() {
	*x = TTLRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TTLRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TTLRequest) ProtoMessage() {}

func (x *TTLRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TTLRequest.ProtoReflect.Descriptor instead.
func (*TTLRequest) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{13}
}

func (x *TTLRequest) GetHeader() *hugegraph_pd_grpc.RequestHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *TTLRequest) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *TTLRequest) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

func (x *TTLRequest) GetTtl() int64 {
	if x != nil {
		return x.Ttl
	}
	return 0
}

type TTLResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header  *hugegraph_pd_grpc.ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Succeed bool                              `protobuf:"varint,2,opt,name=succeed,proto3" json:"succeed,omitempty"`
}

func (x *TTLResponse) Reset() {
	*x = TTLResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_kv_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TTLResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TTLResponse) ProtoMessage() {}

func (x *TTLResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kv_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TTLResponse.ProtoReflect.Descriptor instead.
func (*TTLResponse) Descriptor() ([]byte, []int) {
	return file_kv_proto_rawDescGZIP(), []int{14}
}

func (x *TTLResponse) GetHeader() *hugegraph_pd_grpc.ResponseHeader {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *TTLResponse) GetSucceed() bool {
	if x != nil {
		return x.Succeed
	}
	return false
}

var File_kv_proto protoreflect.FileDescriptor

var file_kv_proto_rawDesc = []byte{
	0x0a, 0x08, 0x6b, 0x76, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x6b, 0x76, 0x1a, 0x0a,
	0x70, 0x64, 0x70, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x6d, 0x65, 0x74, 0x61,
	0x70, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x02, 0x4b, 0x76, 0x12, 0x2b,
	0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
	0x2e, 0x70, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b,
	0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x22, 0x3a, 0x0a, 0x0a, 0x4b, 0x76, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x2c, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x14, 0x2e, 0x70, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22,
	0x42, 0x0a, 0x01, 0x4b, 0x12, 0x2b, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x22, 0x4f, 0x0a, 0x09, 0x4b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x2c, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x14, 0x2e, 0x70, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x14,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x22, 0xad, 0x01, 0x0a, 0x12, 0x53, 0x63, 0x61, 0x6e, 0x50, 0x72, 0x65,
	0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x68,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x64,
	0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x03, 0x6b, 0x76, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6b, 0x76, 0x2e, 0x53, 0x63, 0x61, 0x6e,
	0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4b,
	0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x6b, 0x76, 0x73, 0x1a, 0x36, 0x0a, 0x08,
	0x4b, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x3a, 0x02, 0x38, 0x01, 0x22, 0x7a, 0x0a, 0x0b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
	0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x03, 0x74, 0x74, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64,
	0x22, 0x96, 0x01, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x2c, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x14, 0x2e, 0x70, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
	0x74, 0x74, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12,
	0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x22, 0x5d, 0x0a, 0x11, 0x4c, 0x6f, 0x63,
	0x6b, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c,
	0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
	0x2e, 0x70, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08,
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x07, 0x57, 0x61, 0x74, 0x63,
	0x68, 0x4b, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x77, 0x0a, 0x0a, 0x57,
	0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x07, 0x63, 0x75, 0x72,
	0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x6b, 0x76, 0x2e,
	0x57, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x76, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
	0x12, 0x1f, 0x0a, 0x04, 0x70, 0x72, 0x65, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b,
	0x2e, 0x6b, 0x76, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x76, 0x52, 0x04, 0x70, 0x72, 0x65,
	0x76, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x0d, 0x2e, 0x6b, 0x76, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x0d, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6b, 0x76, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45,
	0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08,
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
	0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x6b, 0x76, 0x2e, 0x57, 0x61, 0x74,
	0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x8f,
	0x01, 0x0a, 0x0c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x2b, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x13, 0x2e, 0x70, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x05,
	0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x6b, 0x76,
	0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
	0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64,
	0x22, 0x3b, 0x0a, 0x01, 0x56, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74,
	0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x0e, 0x0a,
	0x02, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x73, 0x74, 0x22, 0x73, 0x0a,
	0x0a, 0x54, 0x54, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x06, 0x68,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x64,
	0x70, 0x62, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x74,
	0x74, 0x6c, 0x22, 0x55, 0x0a, 0x0b, 0x54, 0x54, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x2c, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x14, 0x2e, 0x70, 0x64, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
	0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x2a, 0x32, 0x0a, 0x09, 0x57, 0x61, 0x74,
	0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x10, 0x00, 0x12,
	0x0a, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x55,
	0x6e, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x7a, 0x65, 0x64, 0x10, 0x02, 0x2a, 0x46, 0x0a,
	0x0a, 0x57, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x53,
	0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x74, 0x61,
	0x72, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x5f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x6c,
	0x69, 0x76, 0x65, 0x10, 0x03, 0x32, 0xf0, 0x04, 0x0a, 0x09, 0x4b, 0x76, 0x53, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x03, 0x70, 0x75, 0x74, 0x12, 0x06, 0x2e, 0x6b, 0x76, 0x2e,
	0x4b, 0x76, 0x1a, 0x0e, 0x2e, 0x6b, 0x76, 0x2e, 0x4b, 0x76, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x1b, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x12, 0x05, 0x2e, 0x6b, 0x76, 0x2e, 0x4b,
	0x1a, 0x0d, 0x2e, 0x6b, 0x76, 0x2e, 0x4b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x1f, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x05, 0x2e, 0x6b, 0x76, 0x2e, 0x4b,
	0x1a, 0x0e, 0x2e, 0x6b, 0x76, 0x2e, 0x4b, 0x76, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x25, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78,
	0x12, 0x05, 0x2e, 0x6b, 0x76, 0x2e, 0x4b, 0x1a, 0x0e, 0x2e, 0x6b, 0x76, 0x2e, 0x4b, 0x76, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x0a, 0x73, 0x63, 0x61, 0x6e, 0x50,
	0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x05, 0x2e, 0x6b, 0x76, 0x2e, 0x4b, 0x1a, 0x16, 0x2e, 0x6b,
	0x76, 0x2e, 0x53, 0x63, 0x61, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x12, 0x10, 0x2e,
	0x6b, 0x76, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x11, 0x2e, 0x6b, 0x76, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x30, 0x01, 0x12, 0x34, 0x0a, 0x0b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65,
	0x66, 0x69, 0x78, 0x12, 0x10, 0x2e, 0x6b, 0x76, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x6b, 0x76, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x29, 0x0a, 0x04, 0x6c, 0x6f,
	0x63, 0x6b, 0x12, 0x0f, 0x2e, 0x6b, 0x76, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x6b, 0x76, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x14, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74,
	0x68, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x0f, 0x2e,
	0x6b, 0x76, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10,
	0x2e, 0x6b, 0x76, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x2b, 0x0a, 0x06, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x0f, 0x2e, 0x6b, 0x76, 0x2e,
	0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x6b, 0x76,
	0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a,
	0x09, 0x6b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x0f, 0x2e, 0x6b, 0x76, 0x2e,
	0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x6b, 0x76,
	0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a,
	0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x6b, 0x76, 0x2e, 0x4c,
	0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x6b, 0x76, 0x2e,
	0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x06,
	0x70, 0x75, 0x74, 0x54, 0x54, 0x4c, 0x12, 0x0e, 0x2e, 0x6b, 0x76, 0x2e, 0x54, 0x54, 0x4c, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x6b, 0x76, 0x2e, 0x54, 0x54, 0x4c, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0c, 0x6b, 0x65, 0x65, 0x70, 0x54,
	0x54, 0x4c, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x0e, 0x2e, 0x6b, 0x76, 0x2e, 0x54, 0x54, 0x4c,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x6b, 0x76, 0x2e, 0x54, 0x54, 0x4c,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x39, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e,
	0x62, 0x61, 0x69, 0x64, 0x75, 0x2e, 0x68, 0x75, 0x67, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2e,
	0x70, 0x64, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x6b, 0x76, 0x50, 0x01, 0x5a, 0x15, 0x2f, 0x68,
	0x75, 0x67, 0x65, 0x67, 0x72, 0x61, 0x70, 0x68, 0x2d, 0x70, 0x64, 0x2d, 0x67, 0x72, 0x70, 0x63,
	0x2f, 0x6b, 0x76, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_kv_proto_rawDescOnce sync.Once
	file_kv_proto_rawDescData = file_kv_proto_rawDesc
)

func file_kv_proto_rawDescGZIP() []byte {
	file_kv_proto_rawDescOnce.Do(func() {
		file_kv_proto_rawDescData = protoimpl.X.CompressGZIP(file_kv_proto_rawDescData)
	})
	return file_kv_proto_rawDescData
}

var file_kv_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_kv_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_kv_proto_goTypes = []interface{}{
	(WatchType)(0),                           // 0: kv.WatchType
	(WatchState)(0),                          // 1: kv.WatchState
	(*Kv)(nil),                               // 2: kv.Kv
	(*KvResponse)(nil),                       // 3: kv.KvResponse
	(*K)(nil),                                // 4: kv.K
	(*KResponse)(nil),                        // 5: kv.KResponse
	(*ScanPrefixResponse)(nil),               // 6: kv.ScanPrefixResponse
	(*LockRequest)(nil),                      // 7: kv.LockRequest
	(*LockResponse)(nil),                     // 8: kv.LockResponse
	(*LockAliveResponse)(nil),                // 9: kv.LockAliveResponse
	(*WatchKv)(nil),                          // 10: kv.WatchKv
	(*WatchEvent)(nil),                       // 11: kv.WatchEvent
	(*WatchResponse)(nil),                    // 12: kv.WatchResponse
	(*WatchRequest)(nil),                     // 13: kv.WatchRequest
	(*V)(nil),                                // 14: kv.V
	(*TTLRequest)(nil),                       // 15: kv.TTLRequest
	(*TTLResponse)(nil),                      // 16: kv.TTLResponse
	nil,                                      // 17: kv.ScanPrefixResponse.KvsEntry
	(*hugegraph_pd_grpc.RequestHeader)(nil),  // 18: pdpb.RequestHeader
	(*hugegraph_pd_grpc.ResponseHeader)(nil), // 19: pdpb.ResponseHeader
}
var file_kv_proto_depIdxs = []int32{
	18, // 0: kv.Kv.header:type_name -> pdpb.RequestHeader
	19, // 1: kv.KvResponse.header:type_name -> pdpb.ResponseHeader
	18, // 2: kv.K.header:type_name -> pdpb.RequestHeader
	19, // 3: kv.KResponse.header:type_name -> pdpb.ResponseHeader
	19, // 4: kv.ScanPrefixResponse.header:type_name -> pdpb.ResponseHeader
	17, // 5: kv.ScanPrefixResponse.kvs:type_name -> kv.ScanPrefixResponse.KvsEntry
	18, // 6: kv.LockRequest.header:type_name -> pdpb.RequestHeader
	19, // 7: kv.LockResponse.header:type_name -> pdpb.ResponseHeader
	19, // 8: kv.LockAliveResponse.header:type_name -> pdpb.ResponseHeader
	10, // 9: kv.WatchEvent.current:type_name -> kv.WatchKv
	10, // 10: kv.WatchEvent.prev:type_name -> kv.WatchKv
	0,  // 11: kv.WatchEvent.type:type_name -> kv.WatchType
	19, // 12: kv.WatchResponse.header:type_name -> pdpb.ResponseHeader
	11, // 13: kv.WatchResponse.events:type_name -> kv.WatchEvent
	1,  // 14: kv.WatchResponse.state:type_name -> kv.WatchState
	18, // 15: kv.WatchRequest.header:type_name -> pdpb.RequestHeader
	1,  // 16: kv.WatchRequest.state:type_name -> kv.WatchState
	18, // 17: kv.TTLRequest.header:type_name -> pdpb.RequestHeader
	19, // 18: kv.TTLResponse.header:type_name -> pdpb.ResponseHeader
	2,  // 19: kv.KvService.put:input_type -> kv.Kv
	4,  // 20: kv.KvService.get:input_type -> kv.K
	4,  // 21: kv.KvService.delete:input_type -> kv.K
	4,  // 22: kv.KvService.deletePrefix:input_type -> kv.K
	4,  // 23: kv.KvService.scanPrefix:input_type -> kv.K
	13, // 24: kv.KvService.watch:input_type -> kv.WatchRequest
	13, // 25: kv.KvService.watchPrefix:input_type -> kv.WatchRequest
	7,  // 26: kv.KvService.lock:input_type -> kv.LockRequest
	7,  // 27: kv.KvService.lockWithoutReentrant:input_type -> kv.LockRequest
	7,  // 28: kv.KvService.unlock:input_type -> kv.LockRequest
	7,  // 29: kv.KvService.keepAlive:input_type -> kv.LockRequest
	7,  // 30: kv.KvService.isLocked:input_type -> kv.LockRequest
	15, // 31: kv.KvService.putTTL:input_type -> kv.TTLRequest
	15, // 32: kv.KvService.keepTTLAlive:input_type -> kv.TTLRequest
	3,  // 33: kv.KvService.put:output_type -> kv.KvResponse
	5,  // 34: kv.KvService.get:output_type -> kv.KResponse
	3,  // 35: kv.KvService.delete:output_type -> kv.KvResponse
	3,  // 36: kv.KvService.deletePrefix:output_type -> kv.KvResponse
	6,  // 37: kv.KvService.scanPrefix:output_type -> kv.ScanPrefixResponse
	12, // 38: kv.KvService.watch:output_type -> kv.WatchResponse
	12, // 39: kv.KvService.watchPrefix:output_type -> kv.WatchResponse
	8,  // 40: kv.KvService.lock:output_type -> kv.LockResponse
	8,  // 41: kv.KvService.lockWithoutReentrant:output_type -> kv.LockResponse
	8,  // 42: kv.KvService.unlock:output_type -> kv.LockResponse
	8,  // 43: kv.KvService.keepAlive:output_type -> kv.LockResponse
	8,  // 44: kv.KvService.isLocked:output_type -> kv.LockResponse
	16, // 45: kv.KvService.putTTL:output_type -> kv.TTLResponse
	16, // 46: kv.KvService.keepTTLAlive:output_type -> kv.TTLResponse
	33, // [33:47] is the sub-list for method output_type
	19, // [19:33] is the sub-list for method input_type
	19, // [19:19] is the sub-list for extension type_name
	19, // [19:19] is the sub-list for extension extendee
	0,  // [0:19] is the sub-list for field type_name
}

func init() { file_kv_proto_init() }
func file_kv_proto_init() {
	if File_kv_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_kv_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Kv); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*KvResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*K); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*KResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ScanPrefixResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LockRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LockResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LockAliveResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WatchKv); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WatchEvent); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WatchResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WatchRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*V); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TTLRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_kv_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TTLResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_kv_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   16,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_kv_proto_goTypes,
		DependencyIndexes: file_kv_proto_depIdxs,
		EnumInfos:         file_kv_proto_enumTypes,
		MessageInfos:      file_kv_proto_msgTypes,
	}.Build()
	File_kv_proto = out.File
	file_kv_proto_rawDesc = nil
	file_kv_proto_goTypes = nil
	file_kv_proto_depIdxs = nil
}
