aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--go.mod2
-rw-r--r--go.sum4
-rw-r--r--vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.pb.go735
-rw-r--r--vendor/google.golang.org/appengine/v2/internal/memcache/memcache_service.proto9
-rw-r--r--vendor/google.golang.org/appengine/v2/memcache/memcache.go79
-rw-r--r--vendor/modules.txt2
6 files changed, 512 insertions, 319 deletions
diff --git a/go.mod b/go.mod
index eb4f4de85..4c8d9e538 100644
--- a/go.mod
+++ b/go.mod
@@ -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
)
diff --git a/go.sum b/go.sum
index 0e1c4280e..49e9b95ec 100644
--- a/go.sum
+++ b/go.sum
@@ -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