diff options
| -rw-r--r-- | go.mod | 2 | ||||
| -rw-r--r-- | go.sum | 4 | ||||
| -rw-r--r-- | vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.pb.go | 735 | ||||
| -rw-r--r-- | vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.proto | 9 | ||||
| -rw-r--r-- | vendor/google.golang.org/appengine/v2/memcache/memcache.go | 79 | ||||
| -rw-r--r-- | vendor/modules.txt | 2 |
6 files changed, 512 insertions, 319 deletions
@@ -23,7 +23,7 @@ require ( golang.org/x/sys v0.11.0 golang.org/x/tools v0.12.0 google.golang.org/api v0.138.0 - google.golang.org/appengine/v2 v2.0.4 + google.golang.org/appengine/v2 v2.0.5 google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 gopkg.in/yaml.v3 v3.0.1 ) @@ -1019,8 +1019,8 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine/v2 v2.0.4 h1:aAAPYixP9EfTJjNO6F46afaxp+jfzb0VgwVjMeLBtF4= -google.golang.org/appengine/v2 v2.0.4/go.mod h1:WoEXGoXNfa0mLvaH5sV3ZSGXwVmy8yf7Z1JKf3J3wLI= +google.golang.org/appengine/v2 v2.0.5 h1:4C+F3Cd3L2nWEfSmFEZDPjQvDwL8T0YCeZBysZifP3k= +google.golang.org/appengine/v2 v2.0.5/go.mod h1:WoEXGoXNfa0mLvaH5sV3ZSGXwVmy8yf7Z1JKf3J3wLI= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= diff --git a/vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.pb.go b/vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.pb.go index 870aec33d..6df50065f 100644 --- a/vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.pb.go +++ b/vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.12 +// protoc-gen-go v1.28.1 +// protoc v3.21.8 // source: memcache_service.proto package memcache @@ -144,7 +144,7 @@ func (x *MemcacheSetRequest_SetPolicy) UnmarshalJSON(b []byte) error { // Deprecated: Use MemcacheSetRequest_SetPolicy.Descriptor instead. func (MemcacheSetRequest_SetPolicy) EnumDescriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{4, 0} + return file_memcache_service_proto_rawDescGZIP(), []int{5, 0} } type MemcacheSetResponse_SetStatusCode int32 @@ -206,7 +206,7 @@ func (x *MemcacheSetResponse_SetStatusCode) UnmarshalJSON(b []byte) error { // Deprecated: Use MemcacheSetResponse_SetStatusCode.Descriptor instead. func (MemcacheSetResponse_SetStatusCode) EnumDescriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{5, 0} + return file_memcache_service_proto_rawDescGZIP(), []int{6, 0} } type MemcacheDeleteResponse_DeleteStatusCode int32 @@ -262,7 +262,7 @@ func (x *MemcacheDeleteResponse_DeleteStatusCode) UnmarshalJSON(b []byte) error // Deprecated: Use MemcacheDeleteResponse_DeleteStatusCode.Descriptor instead. func (MemcacheDeleteResponse_DeleteStatusCode) EnumDescriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{7, 0} + return file_memcache_service_proto_rawDescGZIP(), []int{8, 0} } type MemcacheIncrementRequest_Direction int32 @@ -318,7 +318,7 @@ func (x *MemcacheIncrementRequest_Direction) UnmarshalJSON(b []byte) error { // Deprecated: Use MemcacheIncrementRequest_Direction.Descriptor instead. func (MemcacheIncrementRequest_Direction) EnumDescriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{8, 0} + return file_memcache_service_proto_rawDescGZIP(), []int{9, 0} } type MemcacheIncrementResponse_IncrementStatusCode int32 @@ -377,7 +377,7 @@ func (x *MemcacheIncrementResponse_IncrementStatusCode) UnmarshalJSON(b []byte) // Deprecated: Use MemcacheIncrementResponse_IncrementStatusCode.Descriptor instead. func (MemcacheIncrementResponse_IncrementStatusCode) EnumDescriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{9, 0} + return file_memcache_service_proto_rawDescGZIP(), []int{10, 0} } type MemcacheServiceError struct { @@ -514,11 +514,13 @@ type MemcacheGetRequest struct { NameSpace *string `protobuf:"bytes,2,opt,name=name_space,json=nameSpace,def=" json:"name_space,omitempty"` ForCas *bool `protobuf:"varint,4,opt,name=for_cas,json=forCas" json:"for_cas,omitempty"` Override *AppOverride `protobuf:"bytes,5,opt,name=override" json:"override,omitempty"` + ForPeek *bool `protobuf:"varint,6,opt,name=for_peek,json=forPeek,def=0" json:"for_peek,omitempty"` } // Default values for MemcacheGetRequest fields. const ( Default_MemcacheGetRequest_NameSpace = string("") + Default_MemcacheGetRequest_ForPeek = bool(false) ) func (x *MemcacheGetRequest) Reset() { @@ -581,6 +583,76 @@ func (x *MemcacheGetRequest) GetOverride() *AppOverride { return nil } +func (x *MemcacheGetRequest) GetForPeek() bool { + if x != nil && x.ForPeek != nil { + return *x.ForPeek + } + return Default_MemcacheGetRequest_ForPeek +} + +type ItemTimestamps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExpirationTimeSec *int64 `protobuf:"varint,1,opt,name=expiration_time_sec,json=expirationTimeSec" json:"expiration_time_sec,omitempty"` + LastAccessTimeSec *int64 `protobuf:"varint,2,opt,name=last_access_time_sec,json=lastAccessTimeSec" json:"last_access_time_sec,omitempty"` + DeleteLockTimeSec *int64 `protobuf:"varint,3,opt,name=delete_lock_time_sec,json=deleteLockTimeSec" json:"delete_lock_time_sec,omitempty"` +} + +func (x *ItemTimestamps) Reset() { + *x = ItemTimestamps{} + if protoimpl.UnsafeEnabled { + mi := &file_memcache_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ItemTimestamps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ItemTimestamps) ProtoMessage() {} + +func (x *ItemTimestamps) ProtoReflect() protoreflect.Message { + mi := &file_memcache_service_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 ItemTimestamps.ProtoReflect.Descriptor instead. +func (*ItemTimestamps) Descriptor() ([]byte, []int) { + return file_memcache_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ItemTimestamps) GetExpirationTimeSec() int64 { + if x != nil && x.ExpirationTimeSec != nil { + return *x.ExpirationTimeSec + } + return 0 +} + +func (x *ItemTimestamps) GetLastAccessTimeSec() int64 { + if x != nil && x.LastAccessTimeSec != nil { + return *x.LastAccessTimeSec + } + return 0 +} + +func (x *ItemTimestamps) GetDeleteLockTimeSec() int64 { + if x != nil && x.DeleteLockTimeSec != nil { + return *x.DeleteLockTimeSec + } + return 0 +} + type MemcacheGetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -592,7 +664,7 @@ type MemcacheGetResponse struct { func (x *MemcacheGetResponse) Reset() { *x = MemcacheGetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[3] + mi := &file_memcache_service_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -605,7 +677,7 @@ func (x *MemcacheGetResponse) String() string { func (*MemcacheGetResponse) ProtoMessage() {} func (x *MemcacheGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[3] + mi := &file_memcache_service_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -618,7 +690,7 @@ func (x *MemcacheGetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheGetResponse.ProtoReflect.Descriptor instead. func (*MemcacheGetResponse) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{3} + return file_memcache_service_proto_rawDescGZIP(), []int{4} } func (x *MemcacheGetResponse) GetItem() []*MemcacheGetResponse_Item { @@ -646,7 +718,7 @@ const ( func (x *MemcacheSetRequest) Reset() { *x = MemcacheSetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[4] + mi := &file_memcache_service_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -659,7 +731,7 @@ func (x *MemcacheSetRequest) String() string { func (*MemcacheSetRequest) ProtoMessage() {} func (x *MemcacheSetRequest) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[4] + mi := &file_memcache_service_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -672,7 +744,7 @@ func (x *MemcacheSetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheSetRequest.ProtoReflect.Descriptor instead. func (*MemcacheSetRequest) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{4} + return file_memcache_service_proto_rawDescGZIP(), []int{5} } func (x *MemcacheSetRequest) GetItem() []*MemcacheSetRequest_Item { @@ -707,7 +779,7 @@ type MemcacheSetResponse struct { func (x *MemcacheSetResponse) Reset() { *x = MemcacheSetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[5] + mi := &file_memcache_service_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -720,7 +792,7 @@ func (x *MemcacheSetResponse) String() string { func (*MemcacheSetResponse) ProtoMessage() {} func (x *MemcacheSetResponse) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[5] + mi := &file_memcache_service_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -733,7 +805,7 @@ func (x *MemcacheSetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheSetResponse.ProtoReflect.Descriptor instead. func (*MemcacheSetResponse) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{5} + return file_memcache_service_proto_rawDescGZIP(), []int{6} } func (x *MemcacheSetResponse) GetSetStatus() []MemcacheSetResponse_SetStatusCode { @@ -761,7 +833,7 @@ const ( func (x *MemcacheDeleteRequest) Reset() { *x = MemcacheDeleteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[6] + mi := &file_memcache_service_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -774,7 +846,7 @@ func (x *MemcacheDeleteRequest) String() string { func (*MemcacheDeleteRequest) ProtoMessage() {} func (x *MemcacheDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[6] + mi := &file_memcache_service_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -787,7 +859,7 @@ func (x *MemcacheDeleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheDeleteRequest.ProtoReflect.Descriptor instead. func (*MemcacheDeleteRequest) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{6} + return file_memcache_service_proto_rawDescGZIP(), []int{7} } func (x *MemcacheDeleteRequest) GetItem() []*MemcacheDeleteRequest_Item { @@ -822,7 +894,7 @@ type MemcacheDeleteResponse struct { func (x *MemcacheDeleteResponse) Reset() { *x = MemcacheDeleteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[7] + mi := &file_memcache_service_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -835,7 +907,7 @@ func (x *MemcacheDeleteResponse) String() string { func (*MemcacheDeleteResponse) ProtoMessage() {} func (x *MemcacheDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[7] + mi := &file_memcache_service_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -848,7 +920,7 @@ func (x *MemcacheDeleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheDeleteResponse.ProtoReflect.Descriptor instead. func (*MemcacheDeleteResponse) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{7} + return file_memcache_service_proto_rawDescGZIP(), []int{8} } func (x *MemcacheDeleteResponse) GetDeleteStatus() []MemcacheDeleteResponse_DeleteStatusCode { @@ -882,7 +954,7 @@ const ( func (x *MemcacheIncrementRequest) Reset() { *x = MemcacheIncrementRequest{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[8] + mi := &file_memcache_service_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -895,7 +967,7 @@ func (x *MemcacheIncrementRequest) String() string { func (*MemcacheIncrementRequest) ProtoMessage() {} func (x *MemcacheIncrementRequest) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[8] + mi := &file_memcache_service_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -908,7 +980,7 @@ func (x *MemcacheIncrementRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheIncrementRequest.ProtoReflect.Descriptor instead. func (*MemcacheIncrementRequest) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{8} + return file_memcache_service_proto_rawDescGZIP(), []int{9} } func (x *MemcacheIncrementRequest) GetKey() []byte { @@ -972,7 +1044,7 @@ type MemcacheIncrementResponse struct { func (x *MemcacheIncrementResponse) Reset() { *x = MemcacheIncrementResponse{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[9] + mi := &file_memcache_service_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -985,7 +1057,7 @@ func (x *MemcacheIncrementResponse) String() string { func (*MemcacheIncrementResponse) ProtoMessage() {} func (x *MemcacheIncrementResponse) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[9] + mi := &file_memcache_service_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -998,7 +1070,7 @@ func (x *MemcacheIncrementResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheIncrementResponse.ProtoReflect.Descriptor instead. func (*MemcacheIncrementResponse) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{9} + return file_memcache_service_proto_rawDescGZIP(), []int{10} } func (x *MemcacheIncrementResponse) GetNewValue() uint64 { @@ -1033,7 +1105,7 @@ const ( func (x *MemcacheBatchIncrementRequest) Reset() { *x = MemcacheBatchIncrementRequest{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[10] + mi := &file_memcache_service_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1046,7 +1118,7 @@ func (x *MemcacheBatchIncrementRequest) String() string { func (*MemcacheBatchIncrementRequest) ProtoMessage() {} func (x *MemcacheBatchIncrementRequest) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[10] + mi := &file_memcache_service_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1059,7 +1131,7 @@ func (x *MemcacheBatchIncrementRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheBatchIncrementRequest.ProtoReflect.Descriptor instead. func (*MemcacheBatchIncrementRequest) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{10} + return file_memcache_service_proto_rawDescGZIP(), []int{11} } func (x *MemcacheBatchIncrementRequest) GetNameSpace() string { @@ -1094,7 +1166,7 @@ type MemcacheBatchIncrementResponse struct { func (x *MemcacheBatchIncrementResponse) Reset() { *x = MemcacheBatchIncrementResponse{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[11] + mi := &file_memcache_service_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1107,7 +1179,7 @@ func (x *MemcacheBatchIncrementResponse) String() string { func (*MemcacheBatchIncrementResponse) ProtoMessage() {} func (x *MemcacheBatchIncrementResponse) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[11] + mi := &file_memcache_service_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1120,7 +1192,7 @@ func (x *MemcacheBatchIncrementResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheBatchIncrementResponse.ProtoReflect.Descriptor instead. func (*MemcacheBatchIncrementResponse) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{11} + return file_memcache_service_proto_rawDescGZIP(), []int{12} } func (x *MemcacheBatchIncrementResponse) GetItem() []*MemcacheIncrementResponse { @@ -1141,7 +1213,7 @@ type MemcacheFlushRequest struct { func (x *MemcacheFlushRequest) Reset() { *x = MemcacheFlushRequest{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[12] + mi := &file_memcache_service_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1154,7 +1226,7 @@ func (x *MemcacheFlushRequest) String() string { func (*MemcacheFlushRequest) ProtoMessage() {} func (x *MemcacheFlushRequest) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[12] + mi := &file_memcache_service_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1167,7 +1239,7 @@ func (x *MemcacheFlushRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheFlushRequest.ProtoReflect.Descriptor instead. func (*MemcacheFlushRequest) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{12} + return file_memcache_service_proto_rawDescGZIP(), []int{13} } func (x *MemcacheFlushRequest) GetOverride() *AppOverride { @@ -1186,7 +1258,7 @@ type MemcacheFlushResponse struct { func (x *MemcacheFlushResponse) Reset() { *x = MemcacheFlushResponse{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[13] + mi := &file_memcache_service_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1199,7 +1271,7 @@ func (x *MemcacheFlushResponse) String() string { func (*MemcacheFlushResponse) ProtoMessage() {} func (x *MemcacheFlushResponse) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[13] + mi := &file_memcache_service_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1212,7 +1284,7 @@ func (x *MemcacheFlushResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheFlushResponse.ProtoReflect.Descriptor instead. func (*MemcacheFlushResponse) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{13} + return file_memcache_service_proto_rawDescGZIP(), []int{14} } type MemcacheStatsRequest struct { @@ -1226,7 +1298,7 @@ type MemcacheStatsRequest struct { func (x *MemcacheStatsRequest) Reset() { *x = MemcacheStatsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[14] + mi := &file_memcache_service_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1239,7 +1311,7 @@ func (x *MemcacheStatsRequest) String() string { func (*MemcacheStatsRequest) ProtoMessage() {} func (x *MemcacheStatsRequest) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[14] + mi := &file_memcache_service_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1252,7 +1324,7 @@ func (x *MemcacheStatsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheStatsRequest.ProtoReflect.Descriptor instead. func (*MemcacheStatsRequest) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{14} + return file_memcache_service_proto_rawDescGZIP(), []int{15} } func (x *MemcacheStatsRequest) GetOverride() *AppOverride { @@ -1278,7 +1350,7 @@ type MergedNamespaceStats struct { func (x *MergedNamespaceStats) Reset() { *x = MergedNamespaceStats{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[15] + mi := &file_memcache_service_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1291,7 +1363,7 @@ func (x *MergedNamespaceStats) String() string { func (*MergedNamespaceStats) ProtoMessage() {} func (x *MergedNamespaceStats) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[15] + mi := &file_memcache_service_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1304,7 +1376,7 @@ func (x *MergedNamespaceStats) ProtoReflect() protoreflect.Message { // Deprecated: Use MergedNamespaceStats.ProtoReflect.Descriptor instead. func (*MergedNamespaceStats) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{15} + return file_memcache_service_proto_rawDescGZIP(), []int{16} } func (x *MergedNamespaceStats) GetHits() uint64 { @@ -1360,7 +1432,7 @@ type MemcacheStatsResponse struct { func (x *MemcacheStatsResponse) Reset() { *x = MemcacheStatsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[16] + mi := &file_memcache_service_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1373,7 +1445,7 @@ func (x *MemcacheStatsResponse) String() string { func (*MemcacheStatsResponse) ProtoMessage() {} func (x *MemcacheStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[16] + mi := &file_memcache_service_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1386,7 +1458,7 @@ func (x *MemcacheStatsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheStatsResponse.ProtoReflect.Descriptor instead. func (*MemcacheStatsResponse) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{16} + return file_memcache_service_proto_rawDescGZIP(), []int{17} } func (x *MemcacheStatsResponse) GetStats() *MergedNamespaceStats { @@ -1414,7 +1486,7 @@ const ( func (x *MemcacheGrabTailRequest) Reset() { *x = MemcacheGrabTailRequest{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[17] + mi := &file_memcache_service_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1427,7 +1499,7 @@ func (x *MemcacheGrabTailRequest) String() string { func (*MemcacheGrabTailRequest) ProtoMessage() {} func (x *MemcacheGrabTailRequest) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[17] + mi := &file_memcache_service_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1440,7 +1512,7 @@ func (x *MemcacheGrabTailRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheGrabTailRequest.ProtoReflect.Descriptor instead. func (*MemcacheGrabTailRequest) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{17} + return file_memcache_service_proto_rawDescGZIP(), []int{18} } func (x *MemcacheGrabTailRequest) GetItemCount() int32 { @@ -1475,7 +1547,7 @@ type MemcacheGrabTailResponse struct { func (x *MemcacheGrabTailResponse) Reset() { *x = MemcacheGrabTailResponse{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[18] + mi := &file_memcache_service_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1488,7 +1560,7 @@ func (x *MemcacheGrabTailResponse) String() string { func (*MemcacheGrabTailResponse) ProtoMessage() {} func (x *MemcacheGrabTailResponse) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[18] + mi := &file_memcache_service_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1501,7 +1573,7 @@ func (x *MemcacheGrabTailResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheGrabTailResponse.ProtoReflect.Descriptor instead. func (*MemcacheGrabTailResponse) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{18} + return file_memcache_service_proto_rawDescGZIP(), []int{19} } func (x *MemcacheGrabTailResponse) GetItem() []*MemcacheGrabTailResponse_Item { @@ -1516,17 +1588,19 @@ type MemcacheGetResponse_Item struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Key []byte `protobuf:"bytes,2,req,name=key" json:"key,omitempty"` - Value []byte `protobuf:"bytes,3,req,name=value" json:"value,omitempty"` - Flags *uint32 `protobuf:"fixed32,4,opt,name=flags" json:"flags,omitempty"` - CasId *uint64 `protobuf:"fixed64,5,opt,name=cas_id,json=casId" json:"cas_id,omitempty"` - ExpiresInSeconds *int32 `protobuf:"varint,6,opt,name=expires_in_seconds,json=expiresInSeconds" json:"expires_in_seconds,omitempty"` + Key []byte `protobuf:"bytes,2,req,name=key" json:"key,omitempty"` + Value []byte `protobuf:"bytes,3,req,name=value" json:"value,omitempty"` + Flags *uint32 `protobuf:"fixed32,4,opt,name=flags" json:"flags,omitempty"` + CasId *uint64 `protobuf:"fixed64,5,opt,name=cas_id,json=casId" json:"cas_id,omitempty"` + ExpiresInSeconds *int32 `protobuf:"varint,6,opt,name=expires_in_seconds,json=expiresInSeconds" json:"expires_in_seconds,omitempty"` + Timestamps *ItemTimestamps `protobuf:"bytes,8,opt,name=timestamps" json:"timestamps,omitempty"` + IsDeleteLocked *bool `protobuf:"varint,9,opt,name=is_delete_locked,json=isDeleteLocked" json:"is_delete_locked,omitempty"` } func (x *MemcacheGetResponse_Item) Reset() { *x = MemcacheGetResponse_Item{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[19] + mi := &file_memcache_service_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1539,7 +1613,7 @@ func (x *MemcacheGetResponse_Item) String() string { func (*MemcacheGetResponse_Item) ProtoMessage() {} func (x *MemcacheGetResponse_Item) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[19] + mi := &file_memcache_service_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1552,7 +1626,7 @@ func (x *MemcacheGetResponse_Item) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheGetResponse_Item.ProtoReflect.Descriptor instead. func (*MemcacheGetResponse_Item) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{3, 0} + return file_memcache_service_proto_rawDescGZIP(), []int{4, 0} } func (x *MemcacheGetResponse_Item) GetKey() []byte { @@ -1590,6 +1664,20 @@ func (x *MemcacheGetResponse_Item) GetExpiresInSeconds() int32 { return 0 } +func (x *MemcacheGetResponse_Item) GetTimestamps() *ItemTimestamps { + if x != nil { + return x.Timestamps + } + return nil +} + +func (x *MemcacheGetResponse_Item) GetIsDeleteLocked() bool { + if x != nil && x.IsDeleteLocked != nil { + return *x.IsDeleteLocked + } + return false +} + type MemcacheSetRequest_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1613,7 +1701,7 @@ const ( func (x *MemcacheSetRequest_Item) Reset() { *x = MemcacheSetRequest_Item{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[20] + mi := &file_memcache_service_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1626,7 +1714,7 @@ func (x *MemcacheSetRequest_Item) String() string { func (*MemcacheSetRequest_Item) ProtoMessage() {} func (x *MemcacheSetRequest_Item) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[20] + mi := &file_memcache_service_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1639,7 +1727,7 @@ func (x *MemcacheSetRequest_Item) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheSetRequest_Item.ProtoReflect.Descriptor instead. func (*MemcacheSetRequest_Item) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{4, 0} + return file_memcache_service_proto_rawDescGZIP(), []int{5, 0} } func (x *MemcacheSetRequest_Item) GetKey() []byte { @@ -1708,7 +1796,7 @@ const ( func (x *MemcacheDeleteRequest_Item) Reset() { *x = MemcacheDeleteRequest_Item{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[21] + mi := &file_memcache_service_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1721,7 +1809,7 @@ func (x *MemcacheDeleteRequest_Item) String() string { func (*MemcacheDeleteRequest_Item) ProtoMessage() {} func (x *MemcacheDeleteRequest_Item) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[21] + mi := &file_memcache_service_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1734,7 +1822,7 @@ func (x *MemcacheDeleteRequest_Item) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheDeleteRequest_Item.ProtoReflect.Descriptor instead. func (*MemcacheDeleteRequest_Item) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{6, 0} + return file_memcache_service_proto_rawDescGZIP(), []int{7, 0} } func (x *MemcacheDeleteRequest_Item) GetKey() []byte { @@ -1763,7 +1851,7 @@ type MemcacheGrabTailResponse_Item struct { func (x *MemcacheGrabTailResponse_Item) Reset() { *x = MemcacheGrabTailResponse_Item{} if protoimpl.UnsafeEnabled { - mi := &file_memcache_service_proto_msgTypes[22] + mi := &file_memcache_service_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1776,7 +1864,7 @@ func (x *MemcacheGrabTailResponse_Item) String() string { func (*MemcacheGrabTailResponse_Item) ProtoMessage() {} func (x *MemcacheGrabTailResponse_Item) ProtoReflect() protoreflect.Message { - mi := &file_memcache_service_proto_msgTypes[22] + mi := &file_memcache_service_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1789,7 +1877,7 @@ func (x *MemcacheGrabTailResponse_Item) ProtoReflect() protoreflect.Message { // Deprecated: Use MemcacheGrabTailResponse_Item.ProtoReflect.Descriptor instead. func (*MemcacheGrabTailResponse_Item) Descriptor() ([]byte, []int) { - return file_memcache_service_proto_rawDescGZIP(), []int{18, 0} + return file_memcache_service_proto_rawDescGZIP(), []int{19, 0} } func (x *MemcacheGrabTailResponse_Item) GetValue() []byte { @@ -1836,7 +1924,7 @@ var file_memcache_service_proto_rawDesc = []byte{ 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x18, 0x6d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, - 0x22, 0x97, 0x01, 0x0a, 0x12, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x65, 0x74, + 0x22, 0xb9, 0x01, 0x0a, 0x12, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, @@ -1845,190 +1933,209 @@ var file_memcache_service_proto_rawDesc = []byte{ 0x43, 0x61, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0xdd, 0x01, 0x0a, 0x13, 0x4d, - 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0a, - 0x32, 0x26, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, - 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x1a, 0x89, - 0x01, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, - 0x20, 0x02, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x5f, 0x69, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x63, 0x61, 0x73, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, - 0x73, 0x49, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xcf, 0x03, 0x0a, 0x12, 0x4d, - 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x39, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0a, 0x32, - 0x25, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, - 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, - 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x35, 0x0a, - 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x1a, 0xf0, 0x01, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x4e, 0x0a, 0x0a, 0x73, - 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2a, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, - 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x03, 0x53, 0x45, 0x54, - 0x52, 0x09, 0x73, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x0f, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x07, 0x3a, 0x01, 0x30, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x5f, 0x69, - 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x63, 0x61, 0x73, 0x49, 0x64, 0x12, 0x17, - 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x61, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x66, 0x6f, 0x72, 0x43, 0x61, 0x73, 0x22, 0x33, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, - 0x03, 0x41, 0x44, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, - 0x45, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x41, 0x53, 0x10, 0x04, 0x22, 0xa9, 0x01, 0x0a, - 0x13, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x73, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x42, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, - 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, - 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x04, 0x22, 0xeb, 0x01, 0x0a, 0x15, 0x4d, 0x65, 0x6d, - 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0a, - 0x32, 0x28, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, - 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, - 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, - 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x3c, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x3a, 0x01, 0x30, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x16, 0x4d, 0x65, 0x6d, 0x63, 0x61, - 0x63, 0x68, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x5a, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, - 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2e, 0x0a, - 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, - 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x22, 0xed, 0x02, - 0x0a, 0x18, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0a, - 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, - 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x01, 0x31, 0x52, - 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x61, 0x70, 0x70, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, - 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x09, 0x49, 0x4e, 0x43, - 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x22, 0x29, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0d, - 0x0a, 0x09, 0x44, 0x45, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x22, 0xdb, 0x01, - 0x0a, 0x19, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, - 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, - 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x63, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, - 0x0f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x22, 0x39, 0x0a, 0x13, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x01, 0x12, - 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x02, - 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, 0xb3, 0x01, 0x0a, 0x1d, - 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x63, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, - 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x3a, - 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, - 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x63, - 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, - 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x22, 0x5d, 0x0a, 0x1e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, - 0x22, 0x4d, 0x0a, 0x14, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x46, 0x6c, 0x75, 0x73, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, - 0x17, 0x0a, 0x15, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x0a, 0x14, 0x4d, 0x65, 0x6d, 0x63, - 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, - 0x32, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x72, 0x67, - 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x02, 0x28, 0x04, 0x52, 0x04, - 0x68, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x02, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x62, 0x79, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x02, 0x28, 0x04, 0x52, - 0x08, 0x62, 0x79, 0x74, 0x65, 0x48, 0x69, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0x04, 0x20, 0x02, 0x28, 0x04, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x02, 0x28, 0x04, 0x52, 0x05, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x02, 0x28, 0x07, 0x52, 0x0d, - 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x67, 0x65, 0x22, 0x51, 0x0a, - 0x15, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, - 0x22, 0x90, 0x01, 0x0a, 0x17, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x72, 0x61, - 0x62, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, - 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, - 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x3a, + 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x08, 0x66, 0x6f, + 0x72, 0x5f, 0x70, 0x65, 0x65, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, + 0x6c, 0x73, 0x65, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x50, 0x65, 0x65, 0x6b, 0x22, 0xa2, 0x01, 0x0a, + 0x0e, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, + 0x2e, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x12, + 0x2f, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6c, + 0x61, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, + 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, + 0x63, 0x22, 0xc5, 0x02, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x69, 0x74, 0x65, + 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x26, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x04, 0x69, 0x74, 0x65, 0x6d, 0x1a, 0xf1, 0x01, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0c, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x06, + 0x63, 0x61, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x63, 0x61, + 0x73, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, + 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x12, 0x3c, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x73, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, + 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, + 0x6b, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, 0xcf, 0x03, 0x0a, 0x12, 0x4d, 0x65, + 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x39, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x25, + 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, + 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, + 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x08, - 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, - 0x47, 0x72, 0x61, 0x62, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3f, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x2b, + 0x69, 0x64, 0x65, 0x1a, 0xf0, 0x01, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x07, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x4e, 0x0a, 0x0a, 0x73, 0x65, + 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, - 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x72, 0x61, 0x62, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, - 0x6d, 0x1a, 0x32, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x42, 0x32, 0x5a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x2f, 0x6d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x03, 0x53, 0x45, 0x54, 0x52, + 0x09, 0x73, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x0f, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x07, 0x3a, 0x01, 0x30, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x5f, 0x69, 0x64, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x63, 0x61, 0x73, 0x49, 0x64, 0x12, 0x17, 0x0a, + 0x07, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x61, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x66, 0x6f, 0x72, 0x43, 0x61, 0x73, 0x22, 0x33, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, + 0x41, 0x44, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, + 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x41, 0x53, 0x10, 0x04, 0x22, 0xa9, 0x01, 0x0a, 0x13, + 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x22, 0x42, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x01, + 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x02, + 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x45, + 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x04, 0x22, 0xeb, 0x01, 0x0a, 0x15, 0x4d, 0x65, 0x6d, 0x63, + 0x61, 0x63, 0x68, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0a, 0x32, + 0x28, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, + 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, + 0x1f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x3c, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x22, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x3a, 0x01, 0x30, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x16, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x5a, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0c, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2e, 0x0a, 0x10, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, + 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x22, 0xed, 0x02, 0x0a, + 0x18, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, + 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x3a, + 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x05, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x01, 0x31, 0x52, 0x05, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x09, 0x49, 0x4e, 0x43, 0x52, + 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, + 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x22, 0x29, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, + 0x0a, 0x09, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, + 0x09, 0x44, 0x45, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x22, 0xdb, 0x01, 0x0a, + 0x19, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, + 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, + 0x65, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x3b, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, + 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x63, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0f, + 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x39, 0x0a, 0x13, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x0f, + 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x02, 0x12, + 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, 0xb3, 0x01, 0x0a, 0x1d, 0x4d, + 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x63, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0a, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x3a, 0x0a, + 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x70, + 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x76, 0x65, + 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, + 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x22, 0x5d, 0x0a, 0x1e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, + 0x4d, 0x0a, 0x14, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x17, + 0x0a, 0x15, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x0a, 0x14, 0x4d, 0x65, 0x6d, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x35, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x72, 0x67, 0x65, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x68, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x02, 0x28, 0x04, 0x52, 0x04, 0x68, + 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x02, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, + 0x79, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x02, 0x28, 0x04, 0x52, 0x08, + 0x62, 0x79, 0x74, 0x65, 0x48, 0x69, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0x04, 0x20, 0x02, 0x28, 0x04, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x02, 0x28, 0x04, 0x52, 0x05, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x02, 0x28, 0x07, 0x52, 0x0d, 0x6f, + 0x6c, 0x64, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x67, 0x65, 0x22, 0x51, 0x0a, 0x15, + 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, + 0x90, 0x01, 0x0a, 0x17, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x72, 0x61, 0x62, + 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52, + 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61, + 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, + 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, + 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, + 0x72, 0x61, 0x62, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3f, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x2b, 0x2e, + 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x72, 0x61, 0x62, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, + 0x1a, 0x32, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x42, 0x32, 0x5a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, + 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x6d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, } var ( @@ -2044,7 +2151,7 @@ func file_memcache_service_proto_rawDescGZIP() []byte { } var file_memcache_service_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_memcache_service_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_memcache_service_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_memcache_service_proto_goTypes = []interface{}{ (MemcacheServiceError_ErrorCode)(0), // 0: appengine.v2.MemcacheServiceError.ErrorCode (MemcacheSetRequest_SetPolicy)(0), // 1: appengine.v2.MemcacheSetRequest.SetPolicy @@ -2055,53 +2162,55 @@ var file_memcache_service_proto_goTypes = []interface{}{ (*MemcacheServiceError)(nil), // 6: appengine.v2.MemcacheServiceError (*AppOverride)(nil), // 7: appengine.v2.AppOverride (*MemcacheGetRequest)(nil), // 8: appengine.v2.MemcacheGetRequest - (*MemcacheGetResponse)(nil), // 9: appengine.v2.MemcacheGetResponse - (*MemcacheSetRequest)(nil), // 10: appengine.v2.MemcacheSetRequest - (*MemcacheSetResponse)(nil), // 11: appengine.v2.MemcacheSetResponse - (*MemcacheDeleteRequest)(nil), // 12: appengine.v2.MemcacheDeleteRequest - (*MemcacheDeleteResponse)(nil), // 13: appengine.v2.MemcacheDeleteResponse - (*MemcacheIncrementRequest)(nil), // 14: appengine.v2.MemcacheIncrementRequest - (*MemcacheIncrementResponse)(nil), // 15: appengine.v2.MemcacheIncrementResponse - (*MemcacheBatchIncrementRequest)(nil), // 16: appengine.v2.MemcacheBatchIncrementRequest - (*MemcacheBatchIncrementResponse)(nil), // 17: appengine.v2.MemcacheBatchIncrementResponse - (*MemcacheFlushRequest)(nil), // 18: appengine.v2.MemcacheFlushRequest - (*MemcacheFlushResponse)(nil), // 19: appengine.v2.MemcacheFlushResponse - (*MemcacheStatsRequest)(nil), // 20: appengine.v2.MemcacheStatsRequest - (*MergedNamespaceStats)(nil), // 21: appengine.v2.MergedNamespaceStats - (*MemcacheStatsResponse)(nil), // 22: appengine.v2.MemcacheStatsResponse - (*MemcacheGrabTailRequest)(nil), // 23: appengine.v2.MemcacheGrabTailRequest - (*MemcacheGrabTailResponse)(nil), // 24: appengine.v2.MemcacheGrabTailResponse - (*MemcacheGetResponse_Item)(nil), // 25: appengine.v2.MemcacheGetResponse.Item - (*MemcacheSetRequest_Item)(nil), // 26: appengine.v2.MemcacheSetRequest.Item - (*MemcacheDeleteRequest_Item)(nil), // 27: appengine.v2.MemcacheDeleteRequest.Item - (*MemcacheGrabTailResponse_Item)(nil), // 28: appengine.v2.MemcacheGrabTailResponse.Item + (*ItemTimestamps)(nil), // 9: appengine.v2.ItemTimestamps + (*MemcacheGetResponse)(nil), // 10: appengine.v2.MemcacheGetResponse + (*MemcacheSetRequest)(nil), // 11: appengine.v2.MemcacheSetRequest + (*MemcacheSetResponse)(nil), // 12: appengine.v2.MemcacheSetResponse + (*MemcacheDeleteRequest)(nil), // 13: appengine.v2.MemcacheDeleteRequest + (*MemcacheDeleteResponse)(nil), // 14: appengine.v2.MemcacheDeleteResponse + (*MemcacheIncrementRequest)(nil), // 15: appengine.v2.MemcacheIncrementRequest + (*MemcacheIncrementResponse)(nil), // 16: appengine.v2.MemcacheIncrementResponse + (*MemcacheBatchIncrementRequest)(nil), // 17: appengine.v2.MemcacheBatchIncrementRequest + (*MemcacheBatchIncrementResponse)(nil), // 18: appengine.v2.MemcacheBatchIncrementResponse + (*MemcacheFlushRequest)(nil), // 19: appengine.v2.MemcacheFlushRequest + (*MemcacheFlushResponse)(nil), // 20: appengine.v2.MemcacheFlushResponse + (*MemcacheStatsRequest)(nil), // 21: appengine.v2.MemcacheStatsRequest + (*MergedNamespaceStats)(nil), // 22: appengine.v2.MergedNamespaceStats + (*MemcacheStatsResponse)(nil), // 23: appengine.v2.MemcacheStatsResponse + (*MemcacheGrabTailRequest)(nil), // 24: appengine.v2.MemcacheGrabTailRequest + (*MemcacheGrabTailResponse)(nil), // 25: appengine.v2.MemcacheGrabTailResponse + (*MemcacheGetResponse_Item)(nil), // 26: appengine.v2.MemcacheGetResponse.Item + (*MemcacheSetRequest_Item)(nil), // 27: appengine.v2.MemcacheSetRequest.Item + (*MemcacheDeleteRequest_Item)(nil), // 28: appengine.v2.MemcacheDeleteRequest.Item + (*MemcacheGrabTailResponse_Item)(nil), // 29: appengine.v2.MemcacheGrabTailResponse.Item } var file_memcache_service_proto_depIdxs = []int32{ 7, // 0: appengine.v2.MemcacheGetRequest.override:type_name -> appengine.v2.AppOverride - 25, // 1: appengine.v2.MemcacheGetResponse.item:type_name -> appengine.v2.MemcacheGetResponse.Item - 26, // 2: appengine.v2.MemcacheSetRequest.item:type_name -> appengine.v2.MemcacheSetRequest.Item + 26, // 1: appengine.v2.MemcacheGetResponse.item:type_name -> appengine.v2.MemcacheGetResponse.Item + 27, // 2: appengine.v2.MemcacheSetRequest.item:type_name -> appengine.v2.MemcacheSetRequest.Item 7, // 3: appengine.v2.MemcacheSetRequest.override:type_name -> appengine.v2.AppOverride 2, // 4: appengine.v2.MemcacheSetResponse.set_status:type_name -> appengine.v2.MemcacheSetResponse.SetStatusCode - 27, // 5: appengine.v2.MemcacheDeleteRequest.item:type_name -> appengine.v2.MemcacheDeleteRequest.Item + 28, // 5: appengine.v2.MemcacheDeleteRequest.item:type_name -> appengine.v2.MemcacheDeleteRequest.Item 7, // 6: appengine.v2.MemcacheDeleteRequest.override:type_name -> appengine.v2.AppOverride 3, // 7: appengine.v2.MemcacheDeleteResponse.delete_status:type_name -> appengine.v2.MemcacheDeleteResponse.DeleteStatusCode 4, // 8: appengine.v2.MemcacheIncrementRequest.direction:type_name -> appengine.v2.MemcacheIncrementRequest.Direction 7, // 9: appengine.v2.MemcacheIncrementRequest.override:type_name -> appengine.v2.AppOverride 5, // 10: appengine.v2.MemcacheIncrementResponse.increment_status:type_name -> appengine.v2.MemcacheIncrementResponse.IncrementStatusCode - 14, // 11: appengine.v2.MemcacheBatchIncrementRequest.item:type_name -> appengine.v2.MemcacheIncrementRequest + 15, // 11: appengine.v2.MemcacheBatchIncrementRequest.item:type_name -> appengine.v2.MemcacheIncrementRequest 7, // 12: appengine.v2.MemcacheBatchIncrementRequest.override:type_name -> appengine.v2.AppOverride - 15, // 13: appengine.v2.MemcacheBatchIncrementResponse.item:type_name -> appengine.v2.MemcacheIncrementResponse + 16, // 13: appengine.v2.MemcacheBatchIncrementResponse.item:type_name -> appengine.v2.MemcacheIncrementResponse 7, // 14: appengine.v2.MemcacheFlushRequest.override:type_name -> appengine.v2.AppOverride 7, // 15: appengine.v2.MemcacheStatsRequest.override:type_name -> appengine.v2.AppOverride - 21, // 16: appengine.v2.MemcacheStatsResponse.stats:type_name -> appengine.v2.MergedNamespaceStats + 22, // 16: appengine.v2.MemcacheStatsResponse.stats:type_name -> appengine.v2.MergedNamespaceStats 7, // 17: appengine.v2.MemcacheGrabTailRequest.override:type_name -> appengine.v2.AppOverride - 28, // 18: appengine.v2.MemcacheGrabTailResponse.item:type_name -> appengine.v2.MemcacheGrabTailResponse.Item - 1, // 19: appengine.v2.MemcacheSetRequest.Item.set_policy:type_name -> appengine.v2.MemcacheSetRequest.SetPolicy - 20, // [20:20] is the sub-list for method output_type - 20, // [20:20] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 29, // 18: appengine.v2.MemcacheGrabTailResponse.item:type_name -> appengine.v2.MemcacheGrabTailResponse.Item + 9, // 19: appengine.v2.MemcacheGetResponse.Item.timestamps:type_name -> appengine.v2.ItemTimestamps + 1, // 20: appengine.v2.MemcacheSetRequest.Item.set_policy:type_name -> appengine.v2.MemcacheSetRequest.SetPolicy + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_memcache_service_proto_init() } @@ -2147,7 +2256,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheGetResponse); i { + switch v := v.(*ItemTimestamps); i { case 0: return &v.state case 1: @@ -2159,7 +2268,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheSetRequest); i { + switch v := v.(*MemcacheGetResponse); i { case 0: return &v.state case 1: @@ -2171,7 +2280,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheSetResponse); i { + switch v := v.(*MemcacheSetRequest); i { case 0: return &v.state case 1: @@ -2183,7 +2292,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheDeleteRequest); i { + switch v := v.(*MemcacheSetResponse); i { case 0: return &v.state case 1: @@ -2195,7 +2304,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheDeleteResponse); i { + switch v := v.(*MemcacheDeleteRequest); i { case 0: return &v.state case 1: @@ -2207,7 +2316,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheIncrementRequest); i { + switch v := v.(*MemcacheDeleteResponse); i { case 0: return &v.state case 1: @@ -2219,7 +2328,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheIncrementResponse); i { + switch v := v.(*MemcacheIncrementRequest); i { case 0: return &v.state case 1: @@ -2231,7 +2340,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheBatchIncrementRequest); i { + switch v := v.(*MemcacheIncrementResponse); i { case 0: return &v.state case 1: @@ -2243,7 +2352,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheBatchIncrementResponse); i { + switch v := v.(*MemcacheBatchIncrementRequest); i { case 0: return &v.state case 1: @@ -2255,7 +2364,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheFlushRequest); i { + switch v := v.(*MemcacheBatchIncrementResponse); i { case 0: return &v.state case 1: @@ -2267,7 +2376,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheFlushResponse); i { + switch v := v.(*MemcacheFlushRequest); i { case 0: return &v.state case 1: @@ -2279,7 +2388,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheStatsRequest); i { + switch v := v.(*MemcacheFlushResponse); i { case 0: return &v.state case 1: @@ -2291,7 +2400,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MergedNamespaceStats); i { + switch v := v.(*MemcacheStatsRequest); i { case 0: return &v.state case 1: @@ -2303,7 +2412,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheStatsResponse); i { + switch v := v.(*MergedNamespaceStats); i { case 0: return &v.state case 1: @@ -2315,7 +2424,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheGrabTailRequest); i { + switch v := v.(*MemcacheStatsResponse); i { case 0: return &v.state case 1: @@ -2327,7 +2436,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheGrabTailResponse); i { + switch v := v.(*MemcacheGrabTailRequest); i { case 0: return &v.state case 1: @@ -2339,7 +2448,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheGetResponse_Item); i { + switch v := v.(*MemcacheGrabTailResponse); i { case 0: return &v.state case 1: @@ -2351,7 +2460,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheSetRequest_Item); i { + switch v := v.(*MemcacheGetResponse_Item); i { case 0: return &v.state case 1: @@ -2363,7 +2472,7 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemcacheDeleteRequest_Item); i { + switch v := v.(*MemcacheSetRequest_Item); i { case 0: return &v.state case 1: @@ -2375,6 +2484,18 @@ func file_memcache_service_proto_init() { } } file_memcache_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MemcacheDeleteRequest_Item); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_memcache_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MemcacheGrabTailResponse_Item); i { case 0: return &v.state @@ -2393,7 +2514,7 @@ func file_memcache_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_memcache_service_proto_rawDesc, NumEnums: 6, - NumMessages: 23, + NumMessages: 24, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.proto b/vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.proto index a27c6d3c8..1b0b470bd 100644 --- a/vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.proto +++ b/vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.proto @@ -27,6 +27,13 @@ message MemcacheGetRequest { optional string name_space = 2 [default = ""]; optional bool for_cas = 4; optional AppOverride override = 5; + optional bool for_peek = 6 [default = false]; +} + +message ItemTimestamps { + optional int64 expiration_time_sec = 1; + optional int64 last_access_time_sec = 2; + optional int64 delete_lock_time_sec = 3; } message MemcacheGetResponse { @@ -36,6 +43,8 @@ message MemcacheGetResponse { optional fixed32 flags = 4; optional fixed64 cas_id = 5; optional int32 expires_in_seconds = 6; + optional ItemTimestamps timestamps = 8; + optional bool is_delete_locked = 9; } } diff --git a/vendor/google.golang.org/appengine/v2/memcache/memcache.go b/vendor/google.golang.org/appengine/v2/memcache/memcache.go index 577f60612..f6ef16860 100644 --- a/vendor/google.golang.org/appengine/v2/memcache/memcache.go +++ b/vendor/google.golang.org/appengine/v2/memcache/memcache.go @@ -81,6 +81,21 @@ type Item struct { // casID is a client-opaque value used for compare-and-swap operations. // Zero means that compare-and-swap is not used. casID uint64 + + // ItemTimestamps are server values only returned when calling Peek and PeekMulti. + // The timestamps are nil when calling Get and GetMulti. + Timestamps ItemTimestamps +} + +// ItemTimestamps are timestamps optionally provided by the server. +// See Peek and PeekMulti. +type ItemTimestamps struct { + // Expiration is related to Item.Expiration but it is a Time (not a Duration), + // provided by the server. It is not meant to be set by the user. + Expiration *time.Time + // LastAccess is the last time the Item was accessed. + LastAccess *time.Time + // The proto also includes delete_lock_time_sec, which is ignored in the Go lib. } const ( @@ -90,14 +105,34 @@ const ( // protoToItem converts a protocol buffer item to a Go struct. func protoToItem(p *pb.MemcacheGetResponse_Item) *Item { + if p.GetIsDeleteLocked() { + // "delete lock" for a duration is not a feature available in the Go lib. + // Such items may exist in memcache though, e.g. created by the Java lib. + // In this case, nil is more appropriate than an item with empty value. + // For a single Get, nil will translate to ErrCacheMiss. + return nil + } return &Item{ Key: string(p.Key), Value: p.Value, Flags: p.GetFlags(), casID: p.GetCasId(), + Timestamps: ItemTimestamps{ + Expiration: timeSecToTime(p.GetTimestamps().GetExpirationTimeSec()), + LastAccess: timeSecToTime(p.GetTimestamps().GetLastAccessTimeSec()), + }, } } +// For convenience, we interpret a 0 unix second timestamp as a nil *Time. +func timeSecToTime(s int64) *time.Time { + if s == 0 { + return nil + } + t := time.Unix(s, 0) + return &t +} + // If err is an appengine.MultiError, return its first element. Otherwise, return err. func singleError(err error) error { if me, ok := err.(appengine.MultiError); ok { @@ -109,7 +144,35 @@ func singleError(err error) error { // Get gets the item for the given key. ErrCacheMiss is returned for a memcache // cache miss. The key must be at most 250 bytes in length. func Get(c context.Context, key string) (*Item, error) { - m, err := GetMulti(c, []string{key}) + cas, peek := true, false + return get(c, key, cas, peek) +} + +// GetMulti is a batch version of Get. The returned map from keys to items may +// have fewer elements than the input slice, due to memcache cache misses. +// Each key must be at most 250 bytes in length. +func GetMulti(c context.Context, key []string) (map[string]*Item, error) { + cas, peek := true, false + return getMulti(c, key, cas, peek) +} + +// Peek gets the item for the given key and additionally populates Item.Timestamps. +// ErrCacheMiss is returned for a memcache cache miss. The key must be at most 250 +// bytes in length. +func Peek(c context.Context, key string) (*Item, error) { + cas, peek := true, true + return get(c, key, cas, peek) +} + +// PeekMulti is a batch version of Peek. It is similar to GetMulti but +// additionally populates Item.Timestamps. +func PeekMulti(c context.Context, key []string) (map[string]*Item, error) { + cas, peek := true, true + return getMulti(c, key, cas, peek) +} + +func get(c context.Context, key string, forCas bool, forPeek bool) (*Item, error) { + m, err := getMulti(c, []string{key}, forCas, forPeek) if err != nil { return nil, err } @@ -119,10 +182,7 @@ func Get(c context.Context, key string) (*Item, error) { return m[key], nil } -// GetMulti is a batch version of Get. The returned map from keys to items may -// have fewer elements than the input slice, due to memcache cache misses. -// Each key must be at most 250 bytes in length. -func GetMulti(c context.Context, key []string) (map[string]*Item, error) { +func getMulti(c context.Context, key []string, forCas bool, forPeek bool) (map[string]*Item, error) { if len(key) == 0 { return nil, nil } @@ -131,8 +191,9 @@ func GetMulti(c context.Context, key []string) (map[string]*Item, error) { keyAsBytes[i] = []byte(k) } req := &pb.MemcacheGetRequest{ - Key: keyAsBytes, - ForCas: proto.Bool(true), + Key: keyAsBytes, + ForCas: proto.Bool(forCas), + ForPeek: proto.Bool(forPeek), } res := &pb.MemcacheGetResponse{} if err := internal.Call(c, "memcache", "Get", req, res); err != nil { @@ -141,7 +202,9 @@ func GetMulti(c context.Context, key []string) (map[string]*Item, error) { m := make(map[string]*Item, len(res.Item)) for _, p := range res.Item { t := protoToItem(p) - m[t.Key] = t + if t != nil { + m[t.Key] = t + } } return m, nil } diff --git a/vendor/modules.txt b/vendor/modules.txt index 3eef2f7d7..7b8f0e1fa 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -981,7 +981,7 @@ google.golang.org/appengine/internal/socket google.golang.org/appengine/internal/urlfetch google.golang.org/appengine/socket google.golang.org/appengine/urlfetch -# google.golang.org/appengine/v2 v2.0.4 +# google.golang.org/appengine/v2 v2.0.5 ## explicit; go 1.11 google.golang.org/appengine/v2 google.golang.org/appengine/v2/aetest |
