From b8e72396a5b8df3f8fd662aa5b06ab17d91af5e7 Mon Sep 17 00:00:00 2001 From: Nikita Skrynnik Date: Thu, 22 Sep 2022 18:07:33 +0700 Subject: [PATCH 1/6] add path to NetworkService and NetworkServiceEndpoint Signed-off-by: Nikita Skrynnik --- pkg/api/registry/path_helpers.go | 38 + pkg/api/registry/path_segment_helpers.go | 32 + pkg/api/registry/registry.pb.go | 1349 ---------------------- pkg/api/registry/registry.proto | 18 + 4 files changed, 88 insertions(+), 1349 deletions(-) create mode 100644 pkg/api/registry/path_helpers.go create mode 100644 pkg/api/registry/path_segment_helpers.go delete mode 100644 pkg/api/registry/registry.pb.go diff --git a/pkg/api/registry/path_helpers.go b/pkg/api/registry/path_helpers.go new file mode 100644 index 0000000..e387845 --- /dev/null +++ b/pkg/api/registry/path_helpers.go @@ -0,0 +1,38 @@ +// Copyright (c) 2020 Cisco Systems, Inc. +// +// SPDX-License-Identifier: Apache-2.0 +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at: +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package registry + +import ( + "github.com/pkg/errors" + "google.golang.org/protobuf/proto" +) + +// Clone clones +func (x *Path) Clone() *Path { + return proto.Clone(x).(*Path) +} + +// IsValid returns true if Path p is Valid +func (x *Path) IsValid() error { + if x == nil { + return nil + } + if int(x.GetIndex()) >= len(x.GetPathSegments()) { + return errors.New("Path.Index >= len(Path.PathSegments)") + } + return nil +} diff --git a/pkg/api/registry/path_segment_helpers.go b/pkg/api/registry/path_segment_helpers.go new file mode 100644 index 0000000..7e83f00 --- /dev/null +++ b/pkg/api/registry/path_segment_helpers.go @@ -0,0 +1,32 @@ +// Copyright (c) 2020 Cisco and/or its affiliates. +// +// SPDX-License-Identifier: Apache-2.0 +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at: +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package registry + +import ( + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" +) + +// Equal returns true if PathSegment m == p +func (x *PathSegment) Equal(p protoreflect.ProtoMessage) bool { + return proto.Equal(x, p) +} + +// Clone clones PathSegment +func (x *PathSegment) Clone() *PathSegment { + return proto.Clone(x).(*PathSegment) +} diff --git a/pkg/api/registry/registry.pb.go b/pkg/api/registry/registry.pb.go deleted file mode 100644 index 910a8a0..0000000 --- a/pkg/api/registry/registry.pb.go +++ /dev/null @@ -1,1349 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.26.0 -// protoc v3.14.0 -// source: registry.proto - -package registry - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - emptypb "google.golang.org/protobuf/types/known/emptypb" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type NetworkService struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` - Matches []*Match `protobuf:"bytes,3,rep,name=matches,proto3" json:"matches,omitempty"` -} - -func (x *NetworkService) Reset() { - *x = NetworkService{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkService) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkService) ProtoMessage() {} - -func (x *NetworkService) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NetworkService.ProtoReflect.Descriptor instead. -func (*NetworkService) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{0} -} - -func (x *NetworkService) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *NetworkService) GetPayload() string { - if x != nil { - return x.Payload - } - return "" -} - -func (x *NetworkService) GetMatches() []*Match { - if x != nil { - return x.Matches - } - return nil -} - -type Match struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SourceSelector map[string]string `protobuf:"bytes,1,rep,name=source_selector,json=sourceSelector,proto3" json:"source_selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Routes []*Destination `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` - Fallthrough bool `protobuf:"varint,3,opt,name=fallthrough,proto3" json:"fallthrough,omitempty"` - Metadata *Metadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` -} - -func (x *Match) Reset() { - *x = Match{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Match) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Match) ProtoMessage() {} - -func (x *Match) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Match.ProtoReflect.Descriptor instead. -func (*Match) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{1} -} - -func (x *Match) GetSourceSelector() map[string]string { - if x != nil { - return x.SourceSelector - } - return nil -} - -func (x *Match) GetRoutes() []*Destination { - if x != nil { - return x.Routes - } - return nil -} - -func (x *Match) GetFallthrough() bool { - if x != nil { - return x.Fallthrough - } - return false -} - -func (x *Match) GetMetadata() *Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -type Metadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *Metadata) Reset() { - *x = Metadata{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Metadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Metadata) ProtoMessage() {} - -func (x *Metadata) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Metadata.ProtoReflect.Descriptor instead. -func (*Metadata) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{2} -} - -func (x *Metadata) GetLabels() map[string]string { - if x != nil { - return x.Labels - } - return nil -} - -type Destination struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DestinationSelector map[string]string `protobuf:"bytes,1,rep,name=destination_selector,json=destinationSelector,proto3" json:"destination_selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` -} - -func (x *Destination) Reset() { - *x = Destination{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Destination) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Destination) ProtoMessage() {} - -func (x *Destination) ProtoReflect() protoreflect.Message { - mi := &file_registry_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 Destination.ProtoReflect.Descriptor instead. -func (*Destination) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{3} -} - -func (x *Destination) GetDestinationSelector() map[string]string { - if x != nil { - return x.DestinationSelector - } - return nil -} - -func (x *Destination) GetWeight() uint32 { - if x != nil { - return x.Weight - } - return 0 -} - -type NetworkServiceLabels struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *NetworkServiceLabels) Reset() { - *x = NetworkServiceLabels{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkServiceLabels) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkServiceLabels) ProtoMessage() {} - -func (x *NetworkServiceLabels) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NetworkServiceLabels.ProtoReflect.Descriptor instead. -func (*NetworkServiceLabels) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{4} -} - -func (x *NetworkServiceLabels) GetLabels() map[string]string { - if x != nil { - return x.Labels - } - return nil -} - -type NetworkServiceEndpoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - NetworkServiceNames []string `protobuf:"bytes,2,rep,name=network_service_names,json=networkServiceNames,proto3" json:"network_service_names,omitempty"` - NetworkServiceLabels map[string]*NetworkServiceLabels `protobuf:"bytes,3,rep,name=network_service_labels,json=networkServiceLabels,proto3" json:"network_service_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` - ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` - InitialRegistrationTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=initial_registration_time,json=initialRegistrationTime,proto3" json:"initial_registration_time,omitempty"` -} - -func (x *NetworkServiceEndpoint) Reset() { - *x = NetworkServiceEndpoint{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkServiceEndpoint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkServiceEndpoint) ProtoMessage() {} - -func (x *NetworkServiceEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NetworkServiceEndpoint.ProtoReflect.Descriptor instead. -func (*NetworkServiceEndpoint) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{5} -} - -func (x *NetworkServiceEndpoint) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *NetworkServiceEndpoint) GetNetworkServiceNames() []string { - if x != nil { - return x.NetworkServiceNames - } - return nil -} - -func (x *NetworkServiceEndpoint) GetNetworkServiceLabels() map[string]*NetworkServiceLabels { - if x != nil { - return x.NetworkServiceLabels - } - return nil -} - -func (x *NetworkServiceEndpoint) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *NetworkServiceEndpoint) GetExpirationTime() *timestamppb.Timestamp { - if x != nil { - return x.ExpirationTime - } - return nil -} - -func (x *NetworkServiceEndpoint) GetInitialRegistrationTime() *timestamppb.Timestamp { - if x != nil { - return x.InitialRegistrationTime - } - return nil -} - -type NetworkServiceQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NetworkService *NetworkService `protobuf:"bytes,1,opt,name=network_service,json=networkService,proto3" json:"network_service,omitempty"` - Watch bool `protobuf:"varint,2,opt,name=watch,proto3" json:"watch,omitempty"` -} - -func (x *NetworkServiceQuery) Reset() { - *x = NetworkServiceQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkServiceQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkServiceQuery) ProtoMessage() {} - -func (x *NetworkServiceQuery) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NetworkServiceQuery.ProtoReflect.Descriptor instead. -func (*NetworkServiceQuery) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{6} -} - -func (x *NetworkServiceQuery) GetNetworkService() *NetworkService { - if x != nil { - return x.NetworkService - } - return nil -} - -func (x *NetworkServiceQuery) GetWatch() bool { - if x != nil { - return x.Watch - } - return false -} - -type NetworkServiceEndpointQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NetworkServiceEndpoint *NetworkServiceEndpoint `protobuf:"bytes,1,opt,name=network_service_endpoint,json=networkServiceEndpoint,proto3" json:"network_service_endpoint,omitempty"` - Watch bool `protobuf:"varint,2,opt,name=watch,proto3" json:"watch,omitempty"` -} - -func (x *NetworkServiceEndpointQuery) Reset() { - *x = NetworkServiceEndpointQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkServiceEndpointQuery) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkServiceEndpointQuery) ProtoMessage() {} - -func (x *NetworkServiceEndpointQuery) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NetworkServiceEndpointQuery.ProtoReflect.Descriptor instead. -func (*NetworkServiceEndpointQuery) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{7} -} - -func (x *NetworkServiceEndpointQuery) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { - if x != nil { - return x.NetworkServiceEndpoint - } - return nil -} - -func (x *NetworkServiceEndpointQuery) GetWatch() bool { - if x != nil { - return x.Watch - } - return false -} - -type NetworkServiceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NetworkService *NetworkService `protobuf:"bytes,1,opt,name=network_service,json=networkService,proto3" json:"network_service,omitempty"` - Deleted bool `protobuf:"varint,2,opt,name=deleted,proto3" json:"deleted,omitempty"` -} - -func (x *NetworkServiceResponse) Reset() { - *x = NetworkServiceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkServiceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkServiceResponse) ProtoMessage() {} - -func (x *NetworkServiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NetworkServiceResponse.ProtoReflect.Descriptor instead. -func (*NetworkServiceResponse) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{8} -} - -func (x *NetworkServiceResponse) GetNetworkService() *NetworkService { - if x != nil { - return x.NetworkService - } - return nil -} - -func (x *NetworkServiceResponse) GetDeleted() bool { - if x != nil { - return x.Deleted - } - return false -} - -type NetworkServiceEndpointResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NetworkServiceEndpoint *NetworkServiceEndpoint `protobuf:"bytes,1,opt,name=network_service_endpoint,json=networkServiceEndpoint,proto3" json:"network_service_endpoint,omitempty"` - Deleted bool `protobuf:"varint,2,opt,name=deleted,proto3" json:"deleted,omitempty"` -} - -func (x *NetworkServiceEndpointResponse) Reset() { - *x = NetworkServiceEndpointResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkServiceEndpointResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkServiceEndpointResponse) ProtoMessage() {} - -func (x *NetworkServiceEndpointResponse) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NetworkServiceEndpointResponse.ProtoReflect.Descriptor instead. -func (*NetworkServiceEndpointResponse) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{9} -} - -func (x *NetworkServiceEndpointResponse) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { - if x != nil { - return x.NetworkServiceEndpoint - } - return nil -} - -func (x *NetworkServiceEndpointResponse) GetDeleted() bool { - if x != nil { - return x.Deleted - } - return false -} - -var File_registry_proto protoreflect.FileDescriptor - -var file_registry_proto_rawDesc = []byte{ - 0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x0e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x22, 0x99, 0x02, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, - 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x61, - 0x6c, 0x6c, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x2e, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x7d, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, - 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, - 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x95, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, - 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xea, 0x03, 0x0a, 0x16, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x16, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, - 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x67, 0x0a, - 0x19, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6e, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x41, 0x0a, - 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x22, 0x8f, 0x01, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x22, 0x75, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, - 0x96, 0x01, 0x0a, 0x1e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x32, 0x93, 0x02, 0x0a, 0x1e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x04, 0x46, - 0x69, 0x6e, 0x64, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x32, 0xe3, - 0x01, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x08, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, - 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x04, 0x46, 0x69, 0x6e, - 0x64, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x3e, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -} - -var ( - file_registry_proto_rawDescOnce sync.Once - file_registry_proto_rawDescData = file_registry_proto_rawDesc -) - -func file_registry_proto_rawDescGZIP() []byte { - file_registry_proto_rawDescOnce.Do(func() { - file_registry_proto_rawDescData = protoimpl.X.CompressGZIP(file_registry_proto_rawDescData) - }) - return file_registry_proto_rawDescData -} - -var file_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 15) -var file_registry_proto_goTypes = []interface{}{ - (*NetworkService)(nil), // 0: registry.NetworkService - (*Match)(nil), // 1: registry.Match - (*Metadata)(nil), // 2: registry.Metadata - (*Destination)(nil), // 3: registry.Destination - (*NetworkServiceLabels)(nil), // 4: registry.NetworkServiceLabels - (*NetworkServiceEndpoint)(nil), // 5: registry.NetworkServiceEndpoint - (*NetworkServiceQuery)(nil), // 6: registry.NetworkServiceQuery - (*NetworkServiceEndpointQuery)(nil), // 7: registry.NetworkServiceEndpointQuery - (*NetworkServiceResponse)(nil), // 8: registry.NetworkServiceResponse - (*NetworkServiceEndpointResponse)(nil), // 9: registry.NetworkServiceEndpointResponse - nil, // 10: registry.Match.SourceSelectorEntry - nil, // 11: registry.Metadata.LabelsEntry - nil, // 12: registry.Destination.DestinationSelectorEntry - nil, // 13: registry.NetworkServiceLabels.LabelsEntry - nil, // 14: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry - (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 16: google.protobuf.Empty -} -var file_registry_proto_depIdxs = []int32{ - 1, // 0: registry.NetworkService.matches:type_name -> registry.Match - 10, // 1: registry.Match.source_selector:type_name -> registry.Match.SourceSelectorEntry - 3, // 2: registry.Match.routes:type_name -> registry.Destination - 2, // 3: registry.Match.metadata:type_name -> registry.Metadata - 11, // 4: registry.Metadata.labels:type_name -> registry.Metadata.LabelsEntry - 12, // 5: registry.Destination.destination_selector:type_name -> registry.Destination.DestinationSelectorEntry - 13, // 6: registry.NetworkServiceLabels.labels:type_name -> registry.NetworkServiceLabels.LabelsEntry - 14, // 7: registry.NetworkServiceEndpoint.network_service_labels:type_name -> registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry - 15, // 8: registry.NetworkServiceEndpoint.expiration_time:type_name -> google.protobuf.Timestamp - 15, // 9: registry.NetworkServiceEndpoint.initial_registration_time:type_name -> google.protobuf.Timestamp - 0, // 10: registry.NetworkServiceQuery.network_service:type_name -> registry.NetworkService - 5, // 11: registry.NetworkServiceEndpointQuery.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint - 0, // 12: registry.NetworkServiceResponse.network_service:type_name -> registry.NetworkService - 5, // 13: registry.NetworkServiceEndpointResponse.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint - 4, // 14: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry.value:type_name -> registry.NetworkServiceLabels - 5, // 15: registry.NetworkServiceEndpointRegistry.Register:input_type -> registry.NetworkServiceEndpoint - 7, // 16: registry.NetworkServiceEndpointRegistry.Find:input_type -> registry.NetworkServiceEndpointQuery - 5, // 17: registry.NetworkServiceEndpointRegistry.Unregister:input_type -> registry.NetworkServiceEndpoint - 0, // 18: registry.NetworkServiceRegistry.Register:input_type -> registry.NetworkService - 6, // 19: registry.NetworkServiceRegistry.Find:input_type -> registry.NetworkServiceQuery - 0, // 20: registry.NetworkServiceRegistry.Unregister:input_type -> registry.NetworkService - 5, // 21: registry.NetworkServiceEndpointRegistry.Register:output_type -> registry.NetworkServiceEndpoint - 9, // 22: registry.NetworkServiceEndpointRegistry.Find:output_type -> registry.NetworkServiceEndpointResponse - 16, // 23: registry.NetworkServiceEndpointRegistry.Unregister:output_type -> google.protobuf.Empty - 0, // 24: registry.NetworkServiceRegistry.Register:output_type -> registry.NetworkService - 8, // 25: registry.NetworkServiceRegistry.Find:output_type -> registry.NetworkServiceResponse - 16, // 26: registry.NetworkServiceRegistry.Unregister:output_type -> google.protobuf.Empty - 21, // [21:27] is the sub-list for method output_type - 15, // [15:21] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name -} - -func init() { file_registry_proto_init() } -func file_registry_proto_init() { - if File_registry_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_registry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkService); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Match); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Metadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Destination); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceLabels); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceEndpoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceEndpointQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceEndpointResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_registry_proto_rawDesc, - NumEnums: 0, - NumMessages: 15, - NumExtensions: 0, - NumServices: 2, - }, - GoTypes: file_registry_proto_goTypes, - DependencyIndexes: file_registry_proto_depIdxs, - MessageInfos: file_registry_proto_msgTypes, - }.Build() - File_registry_proto = out.File - file_registry_proto_rawDesc = nil - file_registry_proto_goTypes = nil - file_registry_proto_depIdxs = nil -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// NetworkServiceEndpointRegistryClient is the client API for NetworkServiceEndpointRegistry service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type NetworkServiceEndpointRegistryClient interface { - Register(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*NetworkServiceEndpoint, error) - Find(ctx context.Context, in *NetworkServiceEndpointQuery, opts ...grpc.CallOption) (NetworkServiceEndpointRegistry_FindClient, error) - Unregister(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*emptypb.Empty, error) -} - -type networkServiceEndpointRegistryClient struct { - cc grpc.ClientConnInterface -} - -func NewNetworkServiceEndpointRegistryClient(cc grpc.ClientConnInterface) NetworkServiceEndpointRegistryClient { - return &networkServiceEndpointRegistryClient{cc} -} - -func (c *networkServiceEndpointRegistryClient) Register(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*NetworkServiceEndpoint, error) { - out := new(NetworkServiceEndpoint) - err := c.cc.Invoke(ctx, "/registry.NetworkServiceEndpointRegistry/Register", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *networkServiceEndpointRegistryClient) Find(ctx context.Context, in *NetworkServiceEndpointQuery, opts ...grpc.CallOption) (NetworkServiceEndpointRegistry_FindClient, error) { - stream, err := c.cc.NewStream(ctx, &_NetworkServiceEndpointRegistry_serviceDesc.Streams[0], "/registry.NetworkServiceEndpointRegistry/Find", opts...) - if err != nil { - return nil, err - } - x := &networkServiceEndpointRegistryFindClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type NetworkServiceEndpointRegistry_FindClient interface { - Recv() (*NetworkServiceEndpointResponse, error) - grpc.ClientStream -} - -type networkServiceEndpointRegistryFindClient struct { - grpc.ClientStream -} - -func (x *networkServiceEndpointRegistryFindClient) Recv() (*NetworkServiceEndpointResponse, error) { - m := new(NetworkServiceEndpointResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *networkServiceEndpointRegistryClient) Unregister(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*emptypb.Empty, error) { - out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/registry.NetworkServiceEndpointRegistry/Unregister", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// NetworkServiceEndpointRegistryServer is the server API for NetworkServiceEndpointRegistry service. -type NetworkServiceEndpointRegistryServer interface { - Register(context.Context, *NetworkServiceEndpoint) (*NetworkServiceEndpoint, error) - Find(*NetworkServiceEndpointQuery, NetworkServiceEndpointRegistry_FindServer) error - Unregister(context.Context, *NetworkServiceEndpoint) (*emptypb.Empty, error) -} - -// UnimplementedNetworkServiceEndpointRegistryServer can be embedded to have forward compatible implementations. -type UnimplementedNetworkServiceEndpointRegistryServer struct { -} - -func (*UnimplementedNetworkServiceEndpointRegistryServer) Register(context.Context, *NetworkServiceEndpoint) (*NetworkServiceEndpoint, error) { - return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") -} -func (*UnimplementedNetworkServiceEndpointRegistryServer) Find(*NetworkServiceEndpointQuery, NetworkServiceEndpointRegistry_FindServer) error { - return status.Errorf(codes.Unimplemented, "method Find not implemented") -} -func (*UnimplementedNetworkServiceEndpointRegistryServer) Unregister(context.Context, *NetworkServiceEndpoint) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Unregister not implemented") -} - -func RegisterNetworkServiceEndpointRegistryServer(s *grpc.Server, srv NetworkServiceEndpointRegistryServer) { - s.RegisterService(&_NetworkServiceEndpointRegistry_serviceDesc, srv) -} - -func _NetworkServiceEndpointRegistry_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkServiceEndpoint) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NetworkServiceEndpointRegistryServer).Register(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/registry.NetworkServiceEndpointRegistry/Register", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceEndpointRegistryServer).Register(ctx, req.(*NetworkServiceEndpoint)) - } - return interceptor(ctx, in, info, handler) -} - -func _NetworkServiceEndpointRegistry_Find_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(NetworkServiceEndpointQuery) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(NetworkServiceEndpointRegistryServer).Find(m, &networkServiceEndpointRegistryFindServer{stream}) -} - -type NetworkServiceEndpointRegistry_FindServer interface { - Send(*NetworkServiceEndpointResponse) error - grpc.ServerStream -} - -type networkServiceEndpointRegistryFindServer struct { - grpc.ServerStream -} - -func (x *networkServiceEndpointRegistryFindServer) Send(m *NetworkServiceEndpointResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _NetworkServiceEndpointRegistry_Unregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkServiceEndpoint) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NetworkServiceEndpointRegistryServer).Unregister(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/registry.NetworkServiceEndpointRegistry/Unregister", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceEndpointRegistryServer).Unregister(ctx, req.(*NetworkServiceEndpoint)) - } - return interceptor(ctx, in, info, handler) -} - -var _NetworkServiceEndpointRegistry_serviceDesc = grpc.ServiceDesc{ - ServiceName: "registry.NetworkServiceEndpointRegistry", - HandlerType: (*NetworkServiceEndpointRegistryServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Register", - Handler: _NetworkServiceEndpointRegistry_Register_Handler, - }, - { - MethodName: "Unregister", - Handler: _NetworkServiceEndpointRegistry_Unregister_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "Find", - Handler: _NetworkServiceEndpointRegistry_Find_Handler, - ServerStreams: true, - }, - }, - Metadata: "registry.proto", -} - -// NetworkServiceRegistryClient is the client API for NetworkServiceRegistry service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type NetworkServiceRegistryClient interface { - Register(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*NetworkService, error) - Find(ctx context.Context, in *NetworkServiceQuery, opts ...grpc.CallOption) (NetworkServiceRegistry_FindClient, error) - Unregister(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*emptypb.Empty, error) -} - -type networkServiceRegistryClient struct { - cc grpc.ClientConnInterface -} - -func NewNetworkServiceRegistryClient(cc grpc.ClientConnInterface) NetworkServiceRegistryClient { - return &networkServiceRegistryClient{cc} -} - -func (c *networkServiceRegistryClient) Register(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*NetworkService, error) { - out := new(NetworkService) - err := c.cc.Invoke(ctx, "/registry.NetworkServiceRegistry/Register", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *networkServiceRegistryClient) Find(ctx context.Context, in *NetworkServiceQuery, opts ...grpc.CallOption) (NetworkServiceRegistry_FindClient, error) { - stream, err := c.cc.NewStream(ctx, &_NetworkServiceRegistry_serviceDesc.Streams[0], "/registry.NetworkServiceRegistry/Find", opts...) - if err != nil { - return nil, err - } - x := &networkServiceRegistryFindClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type NetworkServiceRegistry_FindClient interface { - Recv() (*NetworkServiceResponse, error) - grpc.ClientStream -} - -type networkServiceRegistryFindClient struct { - grpc.ClientStream -} - -func (x *networkServiceRegistryFindClient) Recv() (*NetworkServiceResponse, error) { - m := new(NetworkServiceResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *networkServiceRegistryClient) Unregister(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*emptypb.Empty, error) { - out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/registry.NetworkServiceRegistry/Unregister", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// NetworkServiceRegistryServer is the server API for NetworkServiceRegistry service. -type NetworkServiceRegistryServer interface { - Register(context.Context, *NetworkService) (*NetworkService, error) - Find(*NetworkServiceQuery, NetworkServiceRegistry_FindServer) error - Unregister(context.Context, *NetworkService) (*emptypb.Empty, error) -} - -// UnimplementedNetworkServiceRegistryServer can be embedded to have forward compatible implementations. -type UnimplementedNetworkServiceRegistryServer struct { -} - -func (*UnimplementedNetworkServiceRegistryServer) Register(context.Context, *NetworkService) (*NetworkService, error) { - return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") -} -func (*UnimplementedNetworkServiceRegistryServer) Find(*NetworkServiceQuery, NetworkServiceRegistry_FindServer) error { - return status.Errorf(codes.Unimplemented, "method Find not implemented") -} -func (*UnimplementedNetworkServiceRegistryServer) Unregister(context.Context, *NetworkService) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Unregister not implemented") -} - -func RegisterNetworkServiceRegistryServer(s *grpc.Server, srv NetworkServiceRegistryServer) { - s.RegisterService(&_NetworkServiceRegistry_serviceDesc, srv) -} - -func _NetworkServiceRegistry_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkService) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NetworkServiceRegistryServer).Register(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/registry.NetworkServiceRegistry/Register", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceRegistryServer).Register(ctx, req.(*NetworkService)) - } - return interceptor(ctx, in, info, handler) -} - -func _NetworkServiceRegistry_Find_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(NetworkServiceQuery) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(NetworkServiceRegistryServer).Find(m, &networkServiceRegistryFindServer{stream}) -} - -type NetworkServiceRegistry_FindServer interface { - Send(*NetworkServiceResponse) error - grpc.ServerStream -} - -type networkServiceRegistryFindServer struct { - grpc.ServerStream -} - -func (x *networkServiceRegistryFindServer) Send(m *NetworkServiceResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _NetworkServiceRegistry_Unregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkService) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(NetworkServiceRegistryServer).Unregister(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/registry.NetworkServiceRegistry/Unregister", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceRegistryServer).Unregister(ctx, req.(*NetworkService)) - } - return interceptor(ctx, in, info, handler) -} - -var _NetworkServiceRegistry_serviceDesc = grpc.ServiceDesc{ - ServiceName: "registry.NetworkServiceRegistry", - HandlerType: (*NetworkServiceRegistryServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Register", - Handler: _NetworkServiceRegistry_Register_Handler, - }, - { - MethodName: "Unregister", - Handler: _NetworkServiceRegistry_Unregister_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "Find", - Handler: _NetworkServiceRegistry_Find_Handler, - ServerStreams: true, - }, - }, - Metadata: "registry.proto", -} diff --git a/pkg/api/registry/registry.proto b/pkg/api/registry/registry.proto index 7593500..ceabd47 100644 --- a/pkg/api/registry/registry.proto +++ b/pkg/api/registry/registry.proto @@ -6,10 +6,23 @@ option go_package = "github.com/networkservicemesh/api/pkg/api/registry"; import "google/protobuf/empty.proto"; import "google/protobuf/timestamp.proto"; +message PathSegment { + string name = 1; + string id = 2; + string token = 3; + google.protobuf.Timestamp expires = 4; + map metrics = 5; +} +message Path { + uint32 index = 1; + repeated PathSegment path_segments = 2; +} + message NetworkService { string name = 1; string payload = 2; repeated Match matches = 3; + Path path = 4; } message Match { @@ -37,8 +50,13 @@ message NetworkServiceEndpoint { repeated string network_service_names = 2; map network_service_labels = 3; string url = 4; +<<<<<<< HEAD google.protobuf.Timestamp expiration_time = 5; google.protobuf.Timestamp initial_registration_time = 6; +======= + Path path = 5; + google.protobuf.Timestamp expiration_time = 6; +>>>>>>> 76e0c3e (add path to NetworkService and NetworkServiceEndpoint) } service NetworkServiceEndpointRegistry { From 414ee369bb4919bb52b707044d639851924b0389 Mon Sep 17 00:00:00 2001 From: Nikita Skrynnik Date: Mon, 26 Sep 2022 21:35:30 +0700 Subject: [PATCH 2/6] fixes after rebase Signed-off-by: Nikita Skrynnik --- pkg/api/registry/registry.pb.go | 1556 +++++++++++++++++++++++++++++++ pkg/api/registry/registry.proto | 6 +- 2 files changed, 1557 insertions(+), 5 deletions(-) create mode 100644 pkg/api/registry/registry.pb.go diff --git a/pkg/api/registry/registry.pb.go b/pkg/api/registry/registry.pb.go new file mode 100644 index 0000000..cd312c1 --- /dev/null +++ b/pkg/api/registry/registry.pb.go @@ -0,0 +1,1556 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.14.0 +// source: registry.proto + +package registry + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type PathSegment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` + Expires *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires,proto3" json:"expires,omitempty"` + Metrics map[string]string `protobuf:"bytes,5,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PathSegment) Reset() { + *x = PathSegment{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PathSegment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PathSegment) ProtoMessage() {} + +func (x *PathSegment) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PathSegment.ProtoReflect.Descriptor instead. +func (*PathSegment) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{0} +} + +func (x *PathSegment) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PathSegment) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PathSegment) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *PathSegment) GetExpires() *timestamppb.Timestamp { + if x != nil { + return x.Expires + } + return nil +} + +func (x *PathSegment) GetMetrics() map[string]string { + if x != nil { + return x.Metrics + } + return nil +} + +type Path struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` + PathSegments []*PathSegment `protobuf:"bytes,2,rep,name=path_segments,json=pathSegments,proto3" json:"path_segments,omitempty"` +} + +func (x *Path) Reset() { + *x = Path{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Path) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Path) ProtoMessage() {} + +func (x *Path) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Path.ProtoReflect.Descriptor instead. +func (*Path) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{1} +} + +func (x *Path) GetIndex() uint32 { + if x != nil { + return x.Index + } + return 0 +} + +func (x *Path) GetPathSegments() []*PathSegment { + if x != nil { + return x.PathSegments + } + return nil +} + +type NetworkService struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Matches []*Match `protobuf:"bytes,3,rep,name=matches,proto3" json:"matches,omitempty"` + Path *Path `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *NetworkService) Reset() { + *x = NetworkService{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkService) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkService) ProtoMessage() {} + +func (x *NetworkService) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NetworkService.ProtoReflect.Descriptor instead. +func (*NetworkService) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{2} +} + +func (x *NetworkService) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NetworkService) GetPayload() string { + if x != nil { + return x.Payload + } + return "" +} + +func (x *NetworkService) GetMatches() []*Match { + if x != nil { + return x.Matches + } + return nil +} + +func (x *NetworkService) GetPath() *Path { + if x != nil { + return x.Path + } + return nil +} + +type Match struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourceSelector map[string]string `protobuf:"bytes,1,rep,name=source_selector,json=sourceSelector,proto3" json:"source_selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Routes []*Destination `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"` + Fallthrough bool `protobuf:"varint,3,opt,name=fallthrough,proto3" json:"fallthrough,omitempty"` + Metadata *Metadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *Match) Reset() { + *x = Match{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Match) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Match) ProtoMessage() {} + +func (x *Match) ProtoReflect() protoreflect.Message { + mi := &file_registry_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 Match.ProtoReflect.Descriptor instead. +func (*Match) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{3} +} + +func (x *Match) GetSourceSelector() map[string]string { + if x != nil { + return x.SourceSelector + } + return nil +} + +func (x *Match) GetRoutes() []*Destination { + if x != nil { + return x.Routes + } + return nil +} + +func (x *Match) GetFallthrough() bool { + if x != nil { + return x.Fallthrough + } + return false +} + +func (x *Match) GetMetadata() *Metadata { + if x != nil { + return x.Metadata + } + return nil +} + +type Metadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Metadata) Reset() { + *x = Metadata{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Metadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Metadata) ProtoMessage() {} + +func (x *Metadata) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Metadata.ProtoReflect.Descriptor instead. +func (*Metadata) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{4} +} + +func (x *Metadata) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +type Destination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DestinationSelector map[string]string `protobuf:"bytes,1,rep,name=destination_selector,json=destinationSelector,proto3" json:"destination_selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` +} + +func (x *Destination) Reset() { + *x = Destination{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Destination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Destination) ProtoMessage() {} + +func (x *Destination) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Destination.ProtoReflect.Descriptor instead. +func (*Destination) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{5} +} + +func (x *Destination) GetDestinationSelector() map[string]string { + if x != nil { + return x.DestinationSelector + } + return nil +} + +func (x *Destination) GetWeight() uint32 { + if x != nil { + return x.Weight + } + return 0 +} + +type NetworkServiceLabels struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *NetworkServiceLabels) Reset() { + *x = NetworkServiceLabels{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkServiceLabels) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkServiceLabels) ProtoMessage() {} + +func (x *NetworkServiceLabels) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NetworkServiceLabels.ProtoReflect.Descriptor instead. +func (*NetworkServiceLabels) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{6} +} + +func (x *NetworkServiceLabels) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +type NetworkServiceEndpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + NetworkServiceNames []string `protobuf:"bytes,2,rep,name=network_service_names,json=networkServiceNames,proto3" json:"network_service_names,omitempty"` + NetworkServiceLabels map[string]*NetworkServiceLabels `protobuf:"bytes,3,rep,name=network_service_labels,json=networkServiceLabels,proto3" json:"network_service_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` + Path *Path `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` + ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + InitialRegistrationTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=initial_registration_time,json=initialRegistrationTime,proto3" json:"initial_registration_time,omitempty"` +} + +func (x *NetworkServiceEndpoint) Reset() { + *x = NetworkServiceEndpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkServiceEndpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkServiceEndpoint) ProtoMessage() {} + +func (x *NetworkServiceEndpoint) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NetworkServiceEndpoint.ProtoReflect.Descriptor instead. +func (*NetworkServiceEndpoint) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{7} +} + +func (x *NetworkServiceEndpoint) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NetworkServiceEndpoint) GetNetworkServiceNames() []string { + if x != nil { + return x.NetworkServiceNames + } + return nil +} + +func (x *NetworkServiceEndpoint) GetNetworkServiceLabels() map[string]*NetworkServiceLabels { + if x != nil { + return x.NetworkServiceLabels + } + return nil +} + +func (x *NetworkServiceEndpoint) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *NetworkServiceEndpoint) GetPath() *Path { + if x != nil { + return x.Path + } + return nil +} + +func (x *NetworkServiceEndpoint) GetExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +func (x *NetworkServiceEndpoint) GetInitialRegistrationTime() *timestamppb.Timestamp { + if x != nil { + return x.InitialRegistrationTime + } + return nil +} + +type NetworkServiceQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkService *NetworkService `protobuf:"bytes,1,opt,name=network_service,json=networkService,proto3" json:"network_service,omitempty"` + Watch bool `protobuf:"varint,2,opt,name=watch,proto3" json:"watch,omitempty"` +} + +func (x *NetworkServiceQuery) Reset() { + *x = NetworkServiceQuery{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkServiceQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkServiceQuery) ProtoMessage() {} + +func (x *NetworkServiceQuery) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NetworkServiceQuery.ProtoReflect.Descriptor instead. +func (*NetworkServiceQuery) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{8} +} + +func (x *NetworkServiceQuery) GetNetworkService() *NetworkService { + if x != nil { + return x.NetworkService + } + return nil +} + +func (x *NetworkServiceQuery) GetWatch() bool { + if x != nil { + return x.Watch + } + return false +} + +type NetworkServiceEndpointQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkServiceEndpoint *NetworkServiceEndpoint `protobuf:"bytes,1,opt,name=network_service_endpoint,json=networkServiceEndpoint,proto3" json:"network_service_endpoint,omitempty"` + Watch bool `protobuf:"varint,2,opt,name=watch,proto3" json:"watch,omitempty"` +} + +func (x *NetworkServiceEndpointQuery) Reset() { + *x = NetworkServiceEndpointQuery{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkServiceEndpointQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkServiceEndpointQuery) ProtoMessage() {} + +func (x *NetworkServiceEndpointQuery) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NetworkServiceEndpointQuery.ProtoReflect.Descriptor instead. +func (*NetworkServiceEndpointQuery) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{9} +} + +func (x *NetworkServiceEndpointQuery) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { + if x != nil { + return x.NetworkServiceEndpoint + } + return nil +} + +func (x *NetworkServiceEndpointQuery) GetWatch() bool { + if x != nil { + return x.Watch + } + return false +} + +type NetworkServiceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkService *NetworkService `protobuf:"bytes,1,opt,name=network_service,json=networkService,proto3" json:"network_service,omitempty"` + Deleted bool `protobuf:"varint,2,opt,name=deleted,proto3" json:"deleted,omitempty"` +} + +func (x *NetworkServiceResponse) Reset() { + *x = NetworkServiceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkServiceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkServiceResponse) ProtoMessage() {} + +func (x *NetworkServiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NetworkServiceResponse.ProtoReflect.Descriptor instead. +func (*NetworkServiceResponse) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{10} +} + +func (x *NetworkServiceResponse) GetNetworkService() *NetworkService { + if x != nil { + return x.NetworkService + } + return nil +} + +func (x *NetworkServiceResponse) GetDeleted() bool { + if x != nil { + return x.Deleted + } + return false +} + +type NetworkServiceEndpointResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkServiceEndpoint *NetworkServiceEndpoint `protobuf:"bytes,1,opt,name=network_service_endpoint,json=networkServiceEndpoint,proto3" json:"network_service_endpoint,omitempty"` + Deleted bool `protobuf:"varint,2,opt,name=deleted,proto3" json:"deleted,omitempty"` +} + +func (x *NetworkServiceEndpointResponse) Reset() { + *x = NetworkServiceEndpointResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkServiceEndpointResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkServiceEndpointResponse) ProtoMessage() {} + +func (x *NetworkServiceEndpointResponse) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NetworkServiceEndpointResponse.ProtoReflect.Descriptor instead. +func (*NetworkServiceEndpointResponse) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{11} +} + +func (x *NetworkServiceEndpointResponse) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { + if x != nil { + return x.NetworkServiceEndpoint + } + return nil +} + +func (x *NetworkServiceEndpointResponse) GetDeleted() bool { + if x != nil { + return x.Deleted + } + return false +} + +var File_registry_proto protoreflect.FileDescriptor + +var file_registry_proto_rawDesc = []byte{ + 0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, + 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x01, 0x0a, 0x0b, 0x50, 0x61, 0x74, + 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x58, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, + 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x8d, 0x01, 0x0a, + 0x0e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x99, 0x02, 0x0a, + 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, 0x68, 0x72, 0x6f, 0x75, + 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, 0x68, + 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7d, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x14, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x8e, 0x04, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x43, 0x0a, + 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x67, 0x0a, 0x19, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x6e, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x61, + 0x74, 0x63, 0x68, 0x22, 0x8f, 0x01, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x77, 0x61, 0x74, 0x63, 0x68, 0x22, 0x75, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x96, 0x01, 0x0a, + 0x1e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x32, 0x93, 0x02, 0x0a, 0x1e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, + 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x32, 0xe3, 0x01, 0x0a, 0x16, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x18, 0x2e, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x1d, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x20, 0x2e, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x3e, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x65, + 0x73, 0x68, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_registry_proto_rawDescOnce sync.Once + file_registry_proto_rawDescData = file_registry_proto_rawDesc +) + +func file_registry_proto_rawDescGZIP() []byte { + file_registry_proto_rawDescOnce.Do(func() { + file_registry_proto_rawDescData = protoimpl.X.CompressGZIP(file_registry_proto_rawDescData) + }) + return file_registry_proto_rawDescData +} + +var file_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_registry_proto_goTypes = []interface{}{ + (*PathSegment)(nil), // 0: registry.PathSegment + (*Path)(nil), // 1: registry.Path + (*NetworkService)(nil), // 2: registry.NetworkService + (*Match)(nil), // 3: registry.Match + (*Metadata)(nil), // 4: registry.Metadata + (*Destination)(nil), // 5: registry.Destination + (*NetworkServiceLabels)(nil), // 6: registry.NetworkServiceLabels + (*NetworkServiceEndpoint)(nil), // 7: registry.NetworkServiceEndpoint + (*NetworkServiceQuery)(nil), // 8: registry.NetworkServiceQuery + (*NetworkServiceEndpointQuery)(nil), // 9: registry.NetworkServiceEndpointQuery + (*NetworkServiceResponse)(nil), // 10: registry.NetworkServiceResponse + (*NetworkServiceEndpointResponse)(nil), // 11: registry.NetworkServiceEndpointResponse + nil, // 12: registry.PathSegment.MetricsEntry + nil, // 13: registry.Match.SourceSelectorEntry + nil, // 14: registry.Metadata.LabelsEntry + nil, // 15: registry.Destination.DestinationSelectorEntry + nil, // 16: registry.NetworkServiceLabels.LabelsEntry + nil, // 17: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry + (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 19: google.protobuf.Empty +} +var file_registry_proto_depIdxs = []int32{ + 18, // 0: registry.PathSegment.expires:type_name -> google.protobuf.Timestamp + 12, // 1: registry.PathSegment.metrics:type_name -> registry.PathSegment.MetricsEntry + 0, // 2: registry.Path.path_segments:type_name -> registry.PathSegment + 3, // 3: registry.NetworkService.matches:type_name -> registry.Match + 1, // 4: registry.NetworkService.path:type_name -> registry.Path + 13, // 5: registry.Match.source_selector:type_name -> registry.Match.SourceSelectorEntry + 5, // 6: registry.Match.routes:type_name -> registry.Destination + 4, // 7: registry.Match.metadata:type_name -> registry.Metadata + 14, // 8: registry.Metadata.labels:type_name -> registry.Metadata.LabelsEntry + 15, // 9: registry.Destination.destination_selector:type_name -> registry.Destination.DestinationSelectorEntry + 16, // 10: registry.NetworkServiceLabels.labels:type_name -> registry.NetworkServiceLabels.LabelsEntry + 17, // 11: registry.NetworkServiceEndpoint.network_service_labels:type_name -> registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry + 1, // 12: registry.NetworkServiceEndpoint.path:type_name -> registry.Path + 18, // 13: registry.NetworkServiceEndpoint.expiration_time:type_name -> google.protobuf.Timestamp + 18, // 14: registry.NetworkServiceEndpoint.initial_registration_time:type_name -> google.protobuf.Timestamp + 2, // 15: registry.NetworkServiceQuery.network_service:type_name -> registry.NetworkService + 7, // 16: registry.NetworkServiceEndpointQuery.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint + 2, // 17: registry.NetworkServiceResponse.network_service:type_name -> registry.NetworkService + 7, // 18: registry.NetworkServiceEndpointResponse.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint + 6, // 19: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry.value:type_name -> registry.NetworkServiceLabels + 7, // 20: registry.NetworkServiceEndpointRegistry.Register:input_type -> registry.NetworkServiceEndpoint + 9, // 21: registry.NetworkServiceEndpointRegistry.Find:input_type -> registry.NetworkServiceEndpointQuery + 7, // 22: registry.NetworkServiceEndpointRegistry.Unregister:input_type -> registry.NetworkServiceEndpoint + 2, // 23: registry.NetworkServiceRegistry.Register:input_type -> registry.NetworkService + 8, // 24: registry.NetworkServiceRegistry.Find:input_type -> registry.NetworkServiceQuery + 2, // 25: registry.NetworkServiceRegistry.Unregister:input_type -> registry.NetworkService + 7, // 26: registry.NetworkServiceEndpointRegistry.Register:output_type -> registry.NetworkServiceEndpoint + 11, // 27: registry.NetworkServiceEndpointRegistry.Find:output_type -> registry.NetworkServiceEndpointResponse + 19, // 28: registry.NetworkServiceEndpointRegistry.Unregister:output_type -> google.protobuf.Empty + 2, // 29: registry.NetworkServiceRegistry.Register:output_type -> registry.NetworkService + 10, // 30: registry.NetworkServiceRegistry.Find:output_type -> registry.NetworkServiceResponse + 19, // 31: registry.NetworkServiceRegistry.Unregister:output_type -> google.protobuf.Empty + 26, // [26:32] is the sub-list for method output_type + 20, // [20:26] 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 +} + +func init() { file_registry_proto_init() } +func file_registry_proto_init() { + if File_registry_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_registry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PathSegment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Path); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Match); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Destination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkServiceLabels); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkServiceEndpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkServiceQuery); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkServiceEndpointQuery); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkServiceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkServiceEndpointResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_registry_proto_rawDesc, + NumEnums: 0, + NumMessages: 18, + NumExtensions: 0, + NumServices: 2, + }, + GoTypes: file_registry_proto_goTypes, + DependencyIndexes: file_registry_proto_depIdxs, + MessageInfos: file_registry_proto_msgTypes, + }.Build() + File_registry_proto = out.File + file_registry_proto_rawDesc = nil + file_registry_proto_goTypes = nil + file_registry_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// NetworkServiceEndpointRegistryClient is the client API for NetworkServiceEndpointRegistry service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type NetworkServiceEndpointRegistryClient interface { + Register(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*NetworkServiceEndpoint, error) + Find(ctx context.Context, in *NetworkServiceEndpointQuery, opts ...grpc.CallOption) (NetworkServiceEndpointRegistry_FindClient, error) + Unregister(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*emptypb.Empty, error) +} + +type networkServiceEndpointRegistryClient struct { + cc grpc.ClientConnInterface +} + +func NewNetworkServiceEndpointRegistryClient(cc grpc.ClientConnInterface) NetworkServiceEndpointRegistryClient { + return &networkServiceEndpointRegistryClient{cc} +} + +func (c *networkServiceEndpointRegistryClient) Register(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*NetworkServiceEndpoint, error) { + out := new(NetworkServiceEndpoint) + err := c.cc.Invoke(ctx, "/registry.NetworkServiceEndpointRegistry/Register", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *networkServiceEndpointRegistryClient) Find(ctx context.Context, in *NetworkServiceEndpointQuery, opts ...grpc.CallOption) (NetworkServiceEndpointRegistry_FindClient, error) { + stream, err := c.cc.NewStream(ctx, &_NetworkServiceEndpointRegistry_serviceDesc.Streams[0], "/registry.NetworkServiceEndpointRegistry/Find", opts...) + if err != nil { + return nil, err + } + x := &networkServiceEndpointRegistryFindClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type NetworkServiceEndpointRegistry_FindClient interface { + Recv() (*NetworkServiceEndpointResponse, error) + grpc.ClientStream +} + +type networkServiceEndpointRegistryFindClient struct { + grpc.ClientStream +} + +func (x *networkServiceEndpointRegistryFindClient) Recv() (*NetworkServiceEndpointResponse, error) { + m := new(NetworkServiceEndpointResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *networkServiceEndpointRegistryClient) Unregister(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/registry.NetworkServiceEndpointRegistry/Unregister", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// NetworkServiceEndpointRegistryServer is the server API for NetworkServiceEndpointRegistry service. +type NetworkServiceEndpointRegistryServer interface { + Register(context.Context, *NetworkServiceEndpoint) (*NetworkServiceEndpoint, error) + Find(*NetworkServiceEndpointQuery, NetworkServiceEndpointRegistry_FindServer) error + Unregister(context.Context, *NetworkServiceEndpoint) (*emptypb.Empty, error) +} + +// UnimplementedNetworkServiceEndpointRegistryServer can be embedded to have forward compatible implementations. +type UnimplementedNetworkServiceEndpointRegistryServer struct { +} + +func (*UnimplementedNetworkServiceEndpointRegistryServer) Register(context.Context, *NetworkServiceEndpoint) (*NetworkServiceEndpoint, error) { + return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") +} +func (*UnimplementedNetworkServiceEndpointRegistryServer) Find(*NetworkServiceEndpointQuery, NetworkServiceEndpointRegistry_FindServer) error { + return status.Errorf(codes.Unimplemented, "method Find not implemented") +} +func (*UnimplementedNetworkServiceEndpointRegistryServer) Unregister(context.Context, *NetworkServiceEndpoint) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Unregister not implemented") +} + +func RegisterNetworkServiceEndpointRegistryServer(s *grpc.Server, srv NetworkServiceEndpointRegistryServer) { + s.RegisterService(&_NetworkServiceEndpointRegistry_serviceDesc, srv) +} + +func _NetworkServiceEndpointRegistry_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NetworkServiceEndpoint) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkServiceEndpointRegistryServer).Register(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/registry.NetworkServiceEndpointRegistry/Register", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkServiceEndpointRegistryServer).Register(ctx, req.(*NetworkServiceEndpoint)) + } + return interceptor(ctx, in, info, handler) +} + +func _NetworkServiceEndpointRegistry_Find_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(NetworkServiceEndpointQuery) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(NetworkServiceEndpointRegistryServer).Find(m, &networkServiceEndpointRegistryFindServer{stream}) +} + +type NetworkServiceEndpointRegistry_FindServer interface { + Send(*NetworkServiceEndpointResponse) error + grpc.ServerStream +} + +type networkServiceEndpointRegistryFindServer struct { + grpc.ServerStream +} + +func (x *networkServiceEndpointRegistryFindServer) Send(m *NetworkServiceEndpointResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _NetworkServiceEndpointRegistry_Unregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NetworkServiceEndpoint) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkServiceEndpointRegistryServer).Unregister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/registry.NetworkServiceEndpointRegistry/Unregister", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkServiceEndpointRegistryServer).Unregister(ctx, req.(*NetworkServiceEndpoint)) + } + return interceptor(ctx, in, info, handler) +} + +var _NetworkServiceEndpointRegistry_serviceDesc = grpc.ServiceDesc{ + ServiceName: "registry.NetworkServiceEndpointRegistry", + HandlerType: (*NetworkServiceEndpointRegistryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Register", + Handler: _NetworkServiceEndpointRegistry_Register_Handler, + }, + { + MethodName: "Unregister", + Handler: _NetworkServiceEndpointRegistry_Unregister_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "Find", + Handler: _NetworkServiceEndpointRegistry_Find_Handler, + ServerStreams: true, + }, + }, + Metadata: "registry.proto", +} + +// NetworkServiceRegistryClient is the client API for NetworkServiceRegistry service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type NetworkServiceRegistryClient interface { + Register(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*NetworkService, error) + Find(ctx context.Context, in *NetworkServiceQuery, opts ...grpc.CallOption) (NetworkServiceRegistry_FindClient, error) + Unregister(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*emptypb.Empty, error) +} + +type networkServiceRegistryClient struct { + cc grpc.ClientConnInterface +} + +func NewNetworkServiceRegistryClient(cc grpc.ClientConnInterface) NetworkServiceRegistryClient { + return &networkServiceRegistryClient{cc} +} + +func (c *networkServiceRegistryClient) Register(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*NetworkService, error) { + out := new(NetworkService) + err := c.cc.Invoke(ctx, "/registry.NetworkServiceRegistry/Register", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *networkServiceRegistryClient) Find(ctx context.Context, in *NetworkServiceQuery, opts ...grpc.CallOption) (NetworkServiceRegistry_FindClient, error) { + stream, err := c.cc.NewStream(ctx, &_NetworkServiceRegistry_serviceDesc.Streams[0], "/registry.NetworkServiceRegistry/Find", opts...) + if err != nil { + return nil, err + } + x := &networkServiceRegistryFindClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type NetworkServiceRegistry_FindClient interface { + Recv() (*NetworkServiceResponse, error) + grpc.ClientStream +} + +type networkServiceRegistryFindClient struct { + grpc.ClientStream +} + +func (x *networkServiceRegistryFindClient) Recv() (*NetworkServiceResponse, error) { + m := new(NetworkServiceResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *networkServiceRegistryClient) Unregister(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/registry.NetworkServiceRegistry/Unregister", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// NetworkServiceRegistryServer is the server API for NetworkServiceRegistry service. +type NetworkServiceRegistryServer interface { + Register(context.Context, *NetworkService) (*NetworkService, error) + Find(*NetworkServiceQuery, NetworkServiceRegistry_FindServer) error + Unregister(context.Context, *NetworkService) (*emptypb.Empty, error) +} + +// UnimplementedNetworkServiceRegistryServer can be embedded to have forward compatible implementations. +type UnimplementedNetworkServiceRegistryServer struct { +} + +func (*UnimplementedNetworkServiceRegistryServer) Register(context.Context, *NetworkService) (*NetworkService, error) { + return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") +} +func (*UnimplementedNetworkServiceRegistryServer) Find(*NetworkServiceQuery, NetworkServiceRegistry_FindServer) error { + return status.Errorf(codes.Unimplemented, "method Find not implemented") +} +func (*UnimplementedNetworkServiceRegistryServer) Unregister(context.Context, *NetworkService) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Unregister not implemented") +} + +func RegisterNetworkServiceRegistryServer(s *grpc.Server, srv NetworkServiceRegistryServer) { + s.RegisterService(&_NetworkServiceRegistry_serviceDesc, srv) +} + +func _NetworkServiceRegistry_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NetworkService) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkServiceRegistryServer).Register(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/registry.NetworkServiceRegistry/Register", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkServiceRegistryServer).Register(ctx, req.(*NetworkService)) + } + return interceptor(ctx, in, info, handler) +} + +func _NetworkServiceRegistry_Find_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(NetworkServiceQuery) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(NetworkServiceRegistryServer).Find(m, &networkServiceRegistryFindServer{stream}) +} + +type NetworkServiceRegistry_FindServer interface { + Send(*NetworkServiceResponse) error + grpc.ServerStream +} + +type networkServiceRegistryFindServer struct { + grpc.ServerStream +} + +func (x *networkServiceRegistryFindServer) Send(m *NetworkServiceResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _NetworkServiceRegistry_Unregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(NetworkService) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkServiceRegistryServer).Unregister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/registry.NetworkServiceRegistry/Unregister", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkServiceRegistryServer).Unregister(ctx, req.(*NetworkService)) + } + return interceptor(ctx, in, info, handler) +} + +var _NetworkServiceRegistry_serviceDesc = grpc.ServiceDesc{ + ServiceName: "registry.NetworkServiceRegistry", + HandlerType: (*NetworkServiceRegistryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Register", + Handler: _NetworkServiceRegistry_Register_Handler, + }, + { + MethodName: "Unregister", + Handler: _NetworkServiceRegistry_Unregister_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "Find", + Handler: _NetworkServiceRegistry_Find_Handler, + ServerStreams: true, + }, + }, + Metadata: "registry.proto", +} diff --git a/pkg/api/registry/registry.proto b/pkg/api/registry/registry.proto index ceabd47..1fa2446 100644 --- a/pkg/api/registry/registry.proto +++ b/pkg/api/registry/registry.proto @@ -50,13 +50,9 @@ message NetworkServiceEndpoint { repeated string network_service_names = 2; map network_service_labels = 3; string url = 4; -<<<<<<< HEAD - google.protobuf.Timestamp expiration_time = 5; - google.protobuf.Timestamp initial_registration_time = 6; -======= Path path = 5; google.protobuf.Timestamp expiration_time = 6; ->>>>>>> 76e0c3e (add path to NetworkService and NetworkServiceEndpoint) + google.protobuf.Timestamp initial_registration_time = 7; } service NetworkServiceEndpointRegistry { From 5015a75f80bd4bedb34388d215f6ce7726bbd750 Mon Sep 17 00:00:00 2001 From: Nikita Skrynnik Date: Tue, 27 Sep 2022 16:38:13 +0700 Subject: [PATCH 3/6] fix linter Signed-off-by: Nikita Skrynnik --- pkg/api/registry/path_helpers.go | 2 +- pkg/api/registry/path_segment_helpers.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/api/registry/path_helpers.go b/pkg/api/registry/path_helpers.go index e387845..09ef7b1 100644 --- a/pkg/api/registry/path_helpers.go +++ b/pkg/api/registry/path_helpers.go @@ -1,4 +1,4 @@ -// Copyright (c) 2020 Cisco Systems, Inc. +// Copyright (c) 2022 Cisco Systems, Inc. // // SPDX-License-Identifier: Apache-2.0 // diff --git a/pkg/api/registry/path_segment_helpers.go b/pkg/api/registry/path_segment_helpers.go index 7e83f00..80c36ad 100644 --- a/pkg/api/registry/path_segment_helpers.go +++ b/pkg/api/registry/path_segment_helpers.go @@ -1,4 +1,4 @@ -// Copyright (c) 2020 Cisco and/or its affiliates. +// Copyright (c) 2022 Cisco and/or its affiliates. // // SPDX-License-Identifier: Apache-2.0 // From 5ad5b682eefbb5e4af514655feacf1e738cc0851 Mon Sep 17 00:00:00 2001 From: Nikita Skrynnik Date: Tue, 27 Sep 2022 17:39:23 +0700 Subject: [PATCH 4/6] add new messages with Path field Signed-off-by: Nikita Skrynnik --- pkg/api/registry/path_helpers.go | 38 -- pkg/api/registry/path_segment_helpers.go | 32 -- pkg/api/registry/registry.pb.go | 691 ++++++++++++++--------- pkg/api/registry/registry.proto | 24 +- 4 files changed, 432 insertions(+), 353 deletions(-) delete mode 100644 pkg/api/registry/path_helpers.go delete mode 100644 pkg/api/registry/path_segment_helpers.go diff --git a/pkg/api/registry/path_helpers.go b/pkg/api/registry/path_helpers.go deleted file mode 100644 index 09ef7b1..0000000 --- a/pkg/api/registry/path_helpers.go +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) 2022 Cisco Systems, Inc. -// -// SPDX-License-Identifier: Apache-2.0 -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package registry - -import ( - "github.com/pkg/errors" - "google.golang.org/protobuf/proto" -) - -// Clone clones -func (x *Path) Clone() *Path { - return proto.Clone(x).(*Path) -} - -// IsValid returns true if Path p is Valid -func (x *Path) IsValid() error { - if x == nil { - return nil - } - if int(x.GetIndex()) >= len(x.GetPathSegments()) { - return errors.New("Path.Index >= len(Path.PathSegments)") - } - return nil -} diff --git a/pkg/api/registry/path_segment_helpers.go b/pkg/api/registry/path_segment_helpers.go deleted file mode 100644 index 80c36ad..0000000 --- a/pkg/api/registry/path_segment_helpers.go +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) 2022 Cisco and/or its affiliates. -// -// SPDX-License-Identifier: Apache-2.0 -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at: -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package registry - -import ( - "google.golang.org/protobuf/proto" - "google.golang.org/protobuf/reflect/protoreflect" -) - -// Equal returns true if PathSegment m == p -func (x *PathSegment) Equal(p protoreflect.ProtoMessage) bool { - return proto.Equal(x, p) -} - -// Clone clones PathSegment -func (x *PathSegment) Clone() *PathSegment { - return proto.Clone(x).(*PathSegment) -} diff --git a/pkg/api/registry/registry.pb.go b/pkg/api/registry/registry.pb.go index cd312c1..8dfe8ac 100644 --- a/pkg/api/registry/registry.pb.go +++ b/pkg/api/registry/registry.pb.go @@ -168,7 +168,6 @@ type NetworkService struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` Matches []*Match `protobuf:"bytes,3,rep,name=matches,proto3" json:"matches,omitempty"` - Path *Path `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"` } func (x *NetworkService) Reset() { @@ -224,7 +223,55 @@ func (x *NetworkService) GetMatches() []*Match { return nil } -func (x *NetworkService) GetPath() *Path { +type NetworkServiceRegistration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkService *NetworkService `protobuf:"bytes,1,opt,name=network_service,json=networkService,proto3" json:"network_service,omitempty"` + Path *Path `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *NetworkServiceRegistration) Reset() { + *x = NetworkServiceRegistration{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkServiceRegistration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkServiceRegistration) ProtoMessage() {} + +func (x *NetworkServiceRegistration) ProtoReflect() protoreflect.Message { + mi := &file_registry_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 NetworkServiceRegistration.ProtoReflect.Descriptor instead. +func (*NetworkServiceRegistration) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{3} +} + +func (x *NetworkServiceRegistration) GetNetworkService() *NetworkService { + if x != nil { + return x.NetworkService + } + return nil +} + +func (x *NetworkServiceRegistration) GetPath() *Path { if x != nil { return x.Path } @@ -245,7 +292,7 @@ type Match struct { func (x *Match) Reset() { *x = Match{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[3] + mi := &file_registry_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -258,7 +305,7 @@ func (x *Match) String() string { func (*Match) ProtoMessage() {} func (x *Match) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[3] + mi := &file_registry_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -271,7 +318,7 @@ func (x *Match) ProtoReflect() protoreflect.Message { // Deprecated: Use Match.ProtoReflect.Descriptor instead. func (*Match) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{3} + return file_registry_proto_rawDescGZIP(), []int{4} } func (x *Match) GetSourceSelector() map[string]string { @@ -313,7 +360,7 @@ type Metadata struct { func (x *Metadata) Reset() { *x = Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[4] + mi := &file_registry_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -326,7 +373,7 @@ func (x *Metadata) String() string { func (*Metadata) ProtoMessage() {} func (x *Metadata) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[4] + mi := &file_registry_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -339,7 +386,7 @@ func (x *Metadata) ProtoReflect() protoreflect.Message { // Deprecated: Use Metadata.ProtoReflect.Descriptor instead. func (*Metadata) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{4} + return file_registry_proto_rawDescGZIP(), []int{5} } func (x *Metadata) GetLabels() map[string]string { @@ -361,7 +408,7 @@ type Destination struct { func (x *Destination) Reset() { *x = Destination{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[5] + mi := &file_registry_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -374,7 +421,7 @@ func (x *Destination) String() string { func (*Destination) ProtoMessage() {} func (x *Destination) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[5] + mi := &file_registry_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -387,7 +434,7 @@ func (x *Destination) ProtoReflect() protoreflect.Message { // Deprecated: Use Destination.ProtoReflect.Descriptor instead. func (*Destination) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{5} + return file_registry_proto_rawDescGZIP(), []int{6} } func (x *Destination) GetDestinationSelector() map[string]string { @@ -415,7 +462,7 @@ type NetworkServiceLabels struct { func (x *NetworkServiceLabels) Reset() { *x = NetworkServiceLabels{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[6] + mi := &file_registry_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -428,7 +475,7 @@ func (x *NetworkServiceLabels) String() string { func (*NetworkServiceLabels) ProtoMessage() {} func (x *NetworkServiceLabels) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[6] + mi := &file_registry_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -441,7 +488,7 @@ func (x *NetworkServiceLabels) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceLabels.ProtoReflect.Descriptor instead. func (*NetworkServiceLabels) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{6} + return file_registry_proto_rawDescGZIP(), []int{7} } func (x *NetworkServiceLabels) GetLabels() map[string]string { @@ -460,15 +507,14 @@ type NetworkServiceEndpoint struct { NetworkServiceNames []string `protobuf:"bytes,2,rep,name=network_service_names,json=networkServiceNames,proto3" json:"network_service_names,omitempty"` NetworkServiceLabels map[string]*NetworkServiceLabels `protobuf:"bytes,3,rep,name=network_service_labels,json=networkServiceLabels,proto3" json:"network_service_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` - Path *Path `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"` - ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` - InitialRegistrationTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=initial_registration_time,json=initialRegistrationTime,proto3" json:"initial_registration_time,omitempty"` + ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + InitialRegistrationTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=initial_registration_time,json=initialRegistrationTime,proto3" json:"initial_registration_time,omitempty"` } func (x *NetworkServiceEndpoint) Reset() { *x = NetworkServiceEndpoint{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[7] + mi := &file_registry_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -481,7 +527,7 @@ func (x *NetworkServiceEndpoint) String() string { func (*NetworkServiceEndpoint) ProtoMessage() {} func (x *NetworkServiceEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[7] + mi := &file_registry_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -494,7 +540,7 @@ func (x *NetworkServiceEndpoint) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceEndpoint.ProtoReflect.Descriptor instead. func (*NetworkServiceEndpoint) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{7} + return file_registry_proto_rawDescGZIP(), []int{8} } func (x *NetworkServiceEndpoint) GetName() string { @@ -525,23 +571,71 @@ func (x *NetworkServiceEndpoint) GetUrl() string { return "" } -func (x *NetworkServiceEndpoint) GetPath() *Path { +func (x *NetworkServiceEndpoint) GetExpirationTime() *timestamppb.Timestamp { if x != nil { - return x.Path + return x.ExpirationTime } return nil } -func (x *NetworkServiceEndpoint) GetExpirationTime() *timestamppb.Timestamp { +func (x *NetworkServiceEndpoint) GetInitialRegistrationTime() *timestamppb.Timestamp { if x != nil { - return x.ExpirationTime + return x.InitialRegistrationTime } return nil } -func (x *NetworkServiceEndpoint) GetInitialRegistrationTime() *timestamppb.Timestamp { +type NetworkServiceEndpointRegistration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NetworkServiceEndpoint *NetworkServiceEndpoint `protobuf:"bytes,1,opt,name=network_service_endpoint,json=networkServiceEndpoint,proto3" json:"network_service_endpoint,omitempty"` + Path *Path `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *NetworkServiceEndpointRegistration) Reset() { + *x = NetworkServiceEndpointRegistration{} + if protoimpl.UnsafeEnabled { + mi := &file_registry_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkServiceEndpointRegistration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkServiceEndpointRegistration) ProtoMessage() {} + +func (x *NetworkServiceEndpointRegistration) ProtoReflect() protoreflect.Message { + mi := &file_registry_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NetworkServiceEndpointRegistration.ProtoReflect.Descriptor instead. +func (*NetworkServiceEndpointRegistration) Descriptor() ([]byte, []int) { + return file_registry_proto_rawDescGZIP(), []int{9} +} + +func (x *NetworkServiceEndpointRegistration) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { if x != nil { - return x.InitialRegistrationTime + return x.NetworkServiceEndpoint + } + return nil +} + +func (x *NetworkServiceEndpointRegistration) GetPath() *Path { + if x != nil { + return x.Path } return nil } @@ -558,7 +652,7 @@ type NetworkServiceQuery struct { func (x *NetworkServiceQuery) Reset() { *x = NetworkServiceQuery{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[8] + mi := &file_registry_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -571,7 +665,7 @@ func (x *NetworkServiceQuery) String() string { func (*NetworkServiceQuery) ProtoMessage() {} func (x *NetworkServiceQuery) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[8] + mi := &file_registry_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -584,7 +678,7 @@ func (x *NetworkServiceQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceQuery.ProtoReflect.Descriptor instead. func (*NetworkServiceQuery) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{8} + return file_registry_proto_rawDescGZIP(), []int{10} } func (x *NetworkServiceQuery) GetNetworkService() *NetworkService { @@ -613,7 +707,7 @@ type NetworkServiceEndpointQuery struct { func (x *NetworkServiceEndpointQuery) Reset() { *x = NetworkServiceEndpointQuery{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[9] + mi := &file_registry_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -626,7 +720,7 @@ func (x *NetworkServiceEndpointQuery) String() string { func (*NetworkServiceEndpointQuery) ProtoMessage() {} func (x *NetworkServiceEndpointQuery) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[9] + mi := &file_registry_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -639,7 +733,7 @@ func (x *NetworkServiceEndpointQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceEndpointQuery.ProtoReflect.Descriptor instead. func (*NetworkServiceEndpointQuery) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{9} + return file_registry_proto_rawDescGZIP(), []int{11} } func (x *NetworkServiceEndpointQuery) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { @@ -668,7 +762,7 @@ type NetworkServiceResponse struct { func (x *NetworkServiceResponse) Reset() { *x = NetworkServiceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[10] + mi := &file_registry_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -681,7 +775,7 @@ func (x *NetworkServiceResponse) String() string { func (*NetworkServiceResponse) ProtoMessage() {} func (x *NetworkServiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[10] + mi := &file_registry_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -694,7 +788,7 @@ func (x *NetworkServiceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceResponse.ProtoReflect.Descriptor instead. func (*NetworkServiceResponse) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{10} + return file_registry_proto_rawDescGZIP(), []int{12} } func (x *NetworkServiceResponse) GetNetworkService() *NetworkService { @@ -723,7 +817,7 @@ type NetworkServiceEndpointResponse struct { func (x *NetworkServiceEndpointResponse) Reset() { *x = NetworkServiceEndpointResponse{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[11] + mi := &file_registry_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -736,7 +830,7 @@ func (x *NetworkServiceEndpointResponse) String() string { func (*NetworkServiceEndpointResponse) ProtoMessage() {} func (x *NetworkServiceEndpointResponse) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[11] + mi := &file_registry_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -749,7 +843,7 @@ func (x *NetworkServiceEndpointResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceEndpointResponse.ProtoReflect.Descriptor instead. func (*NetworkServiceEndpointResponse) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{11} + return file_registry_proto_rawDescGZIP(), []int{13} } func (x *NetworkServiceEndpointResponse) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { @@ -795,166 +889,185 @@ var file_registry_proto_rawDesc = []byte{ 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, - 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x8d, 0x01, 0x0a, - 0x0e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, - 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x99, 0x02, 0x0a, - 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, - 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, 0x68, 0x72, 0x6f, 0x75, - 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, 0x68, - 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x69, 0x0a, 0x0e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, 0x07, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x1a, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x99, 0x02, + 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, 0x68, 0x72, 0x6f, + 0x75, 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, + 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7d, 0x0a, 0x08, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, + 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7d, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x14, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x8e, 0x04, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x43, 0x0a, - 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x67, 0x0a, 0x19, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x14, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x6e, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x61, - 0x74, 0x63, 0x68, 0x22, 0x8f, 0x01, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xea, 0x03, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x56, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x17, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x67, 0x0a, 0x19, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xa4, 0x01, 0x0a, 0x22, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, + 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x6e, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x41, + 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x22, 0x8f, 0x01, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x22, 0x75, 0x0a, 0x16, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x22, 0x96, 0x01, 0x0a, 0x1e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x77, 0x61, 0x74, 0x63, 0x68, 0x22, 0x75, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x32, 0xb7, 0x02, 0x0a, 0x1e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x66, 0x0a, 0x08, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x96, 0x01, 0x0a, - 0x1e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x32, 0x93, 0x02, 0x0a, 0x1e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, - 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x32, 0xe3, 0x01, 0x0a, 0x16, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x18, 0x2e, 0x72, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x1d, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x52, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x2e, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x32, 0x87, 0x02, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x56, + 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x1a, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x3e, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x65, - 0x73, 0x68, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x12, 0x4a, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x24, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x34, 0x5a, + 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -969,67 +1082,71 @@ func file_registry_proto_rawDescGZIP() []byte { return file_registry_proto_rawDescData } -var file_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_registry_proto_goTypes = []interface{}{ - (*PathSegment)(nil), // 0: registry.PathSegment - (*Path)(nil), // 1: registry.Path - (*NetworkService)(nil), // 2: registry.NetworkService - (*Match)(nil), // 3: registry.Match - (*Metadata)(nil), // 4: registry.Metadata - (*Destination)(nil), // 5: registry.Destination - (*NetworkServiceLabels)(nil), // 6: registry.NetworkServiceLabels - (*NetworkServiceEndpoint)(nil), // 7: registry.NetworkServiceEndpoint - (*NetworkServiceQuery)(nil), // 8: registry.NetworkServiceQuery - (*NetworkServiceEndpointQuery)(nil), // 9: registry.NetworkServiceEndpointQuery - (*NetworkServiceResponse)(nil), // 10: registry.NetworkServiceResponse - (*NetworkServiceEndpointResponse)(nil), // 11: registry.NetworkServiceEndpointResponse - nil, // 12: registry.PathSegment.MetricsEntry - nil, // 13: registry.Match.SourceSelectorEntry - nil, // 14: registry.Metadata.LabelsEntry - nil, // 15: registry.Destination.DestinationSelectorEntry - nil, // 16: registry.NetworkServiceLabels.LabelsEntry - nil, // 17: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry - (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 19: google.protobuf.Empty + (*PathSegment)(nil), // 0: registry.PathSegment + (*Path)(nil), // 1: registry.Path + (*NetworkService)(nil), // 2: registry.NetworkService + (*NetworkServiceRegistration)(nil), // 3: registry.NetworkServiceRegistration + (*Match)(nil), // 4: registry.Match + (*Metadata)(nil), // 5: registry.Metadata + (*Destination)(nil), // 6: registry.Destination + (*NetworkServiceLabels)(nil), // 7: registry.NetworkServiceLabels + (*NetworkServiceEndpoint)(nil), // 8: registry.NetworkServiceEndpoint + (*NetworkServiceEndpointRegistration)(nil), // 9: registry.NetworkServiceEndpointRegistration + (*NetworkServiceQuery)(nil), // 10: registry.NetworkServiceQuery + (*NetworkServiceEndpointQuery)(nil), // 11: registry.NetworkServiceEndpointQuery + (*NetworkServiceResponse)(nil), // 12: registry.NetworkServiceResponse + (*NetworkServiceEndpointResponse)(nil), // 13: registry.NetworkServiceEndpointResponse + nil, // 14: registry.PathSegment.MetricsEntry + nil, // 15: registry.Match.SourceSelectorEntry + nil, // 16: registry.Metadata.LabelsEntry + nil, // 17: registry.Destination.DestinationSelectorEntry + nil, // 18: registry.NetworkServiceLabels.LabelsEntry + nil, // 19: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry + (*timestamppb.Timestamp)(nil), // 20: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 21: google.protobuf.Empty } var file_registry_proto_depIdxs = []int32{ - 18, // 0: registry.PathSegment.expires:type_name -> google.protobuf.Timestamp - 12, // 1: registry.PathSegment.metrics:type_name -> registry.PathSegment.MetricsEntry + 20, // 0: registry.PathSegment.expires:type_name -> google.protobuf.Timestamp + 14, // 1: registry.PathSegment.metrics:type_name -> registry.PathSegment.MetricsEntry 0, // 2: registry.Path.path_segments:type_name -> registry.PathSegment - 3, // 3: registry.NetworkService.matches:type_name -> registry.Match - 1, // 4: registry.NetworkService.path:type_name -> registry.Path - 13, // 5: registry.Match.source_selector:type_name -> registry.Match.SourceSelectorEntry - 5, // 6: registry.Match.routes:type_name -> registry.Destination - 4, // 7: registry.Match.metadata:type_name -> registry.Metadata - 14, // 8: registry.Metadata.labels:type_name -> registry.Metadata.LabelsEntry - 15, // 9: registry.Destination.destination_selector:type_name -> registry.Destination.DestinationSelectorEntry - 16, // 10: registry.NetworkServiceLabels.labels:type_name -> registry.NetworkServiceLabels.LabelsEntry - 17, // 11: registry.NetworkServiceEndpoint.network_service_labels:type_name -> registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry - 1, // 12: registry.NetworkServiceEndpoint.path:type_name -> registry.Path - 18, // 13: registry.NetworkServiceEndpoint.expiration_time:type_name -> google.protobuf.Timestamp - 18, // 14: registry.NetworkServiceEndpoint.initial_registration_time:type_name -> google.protobuf.Timestamp - 2, // 15: registry.NetworkServiceQuery.network_service:type_name -> registry.NetworkService - 7, // 16: registry.NetworkServiceEndpointQuery.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint - 2, // 17: registry.NetworkServiceResponse.network_service:type_name -> registry.NetworkService - 7, // 18: registry.NetworkServiceEndpointResponse.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint - 6, // 19: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry.value:type_name -> registry.NetworkServiceLabels - 7, // 20: registry.NetworkServiceEndpointRegistry.Register:input_type -> registry.NetworkServiceEndpoint - 9, // 21: registry.NetworkServiceEndpointRegistry.Find:input_type -> registry.NetworkServiceEndpointQuery - 7, // 22: registry.NetworkServiceEndpointRegistry.Unregister:input_type -> registry.NetworkServiceEndpoint - 2, // 23: registry.NetworkServiceRegistry.Register:input_type -> registry.NetworkService - 8, // 24: registry.NetworkServiceRegistry.Find:input_type -> registry.NetworkServiceQuery - 2, // 25: registry.NetworkServiceRegistry.Unregister:input_type -> registry.NetworkService - 7, // 26: registry.NetworkServiceEndpointRegistry.Register:output_type -> registry.NetworkServiceEndpoint - 11, // 27: registry.NetworkServiceEndpointRegistry.Find:output_type -> registry.NetworkServiceEndpointResponse - 19, // 28: registry.NetworkServiceEndpointRegistry.Unregister:output_type -> google.protobuf.Empty - 2, // 29: registry.NetworkServiceRegistry.Register:output_type -> registry.NetworkService - 10, // 30: registry.NetworkServiceRegistry.Find:output_type -> registry.NetworkServiceResponse - 19, // 31: registry.NetworkServiceRegistry.Unregister:output_type -> google.protobuf.Empty - 26, // [26:32] is the sub-list for method output_type - 20, // [20:26] 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 + 4, // 3: registry.NetworkService.matches:type_name -> registry.Match + 2, // 4: registry.NetworkServiceRegistration.network_service:type_name -> registry.NetworkService + 1, // 5: registry.NetworkServiceRegistration.path:type_name -> registry.Path + 15, // 6: registry.Match.source_selector:type_name -> registry.Match.SourceSelectorEntry + 6, // 7: registry.Match.routes:type_name -> registry.Destination + 5, // 8: registry.Match.metadata:type_name -> registry.Metadata + 16, // 9: registry.Metadata.labels:type_name -> registry.Metadata.LabelsEntry + 17, // 10: registry.Destination.destination_selector:type_name -> registry.Destination.DestinationSelectorEntry + 18, // 11: registry.NetworkServiceLabels.labels:type_name -> registry.NetworkServiceLabels.LabelsEntry + 19, // 12: registry.NetworkServiceEndpoint.network_service_labels:type_name -> registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry + 20, // 13: registry.NetworkServiceEndpoint.expiration_time:type_name -> google.protobuf.Timestamp + 20, // 14: registry.NetworkServiceEndpoint.initial_registration_time:type_name -> google.protobuf.Timestamp + 8, // 15: registry.NetworkServiceEndpointRegistration.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint + 1, // 16: registry.NetworkServiceEndpointRegistration.path:type_name -> registry.Path + 2, // 17: registry.NetworkServiceQuery.network_service:type_name -> registry.NetworkService + 8, // 18: registry.NetworkServiceEndpointQuery.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint + 2, // 19: registry.NetworkServiceResponse.network_service:type_name -> registry.NetworkService + 8, // 20: registry.NetworkServiceEndpointResponse.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint + 7, // 21: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry.value:type_name -> registry.NetworkServiceLabels + 9, // 22: registry.NetworkServiceEndpointRegistry.Register:input_type -> registry.NetworkServiceEndpointRegistration + 11, // 23: registry.NetworkServiceEndpointRegistry.Find:input_type -> registry.NetworkServiceEndpointQuery + 9, // 24: registry.NetworkServiceEndpointRegistry.Unregister:input_type -> registry.NetworkServiceEndpointRegistration + 3, // 25: registry.NetworkServiceRegistry.Register:input_type -> registry.NetworkServiceRegistration + 10, // 26: registry.NetworkServiceRegistry.Find:input_type -> registry.NetworkServiceQuery + 3, // 27: registry.NetworkServiceRegistry.Unregister:input_type -> registry.NetworkServiceRegistration + 9, // 28: registry.NetworkServiceEndpointRegistry.Register:output_type -> registry.NetworkServiceEndpointRegistration + 13, // 29: registry.NetworkServiceEndpointRegistry.Find:output_type -> registry.NetworkServiceEndpointResponse + 21, // 30: registry.NetworkServiceEndpointRegistry.Unregister:output_type -> google.protobuf.Empty + 3, // 31: registry.NetworkServiceRegistry.Register:output_type -> registry.NetworkServiceRegistration + 12, // 32: registry.NetworkServiceRegistry.Find:output_type -> registry.NetworkServiceResponse + 21, // 33: registry.NetworkServiceRegistry.Unregister:output_type -> google.protobuf.Empty + 28, // [28:34] is the sub-list for method output_type + 22, // [22:28] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name } func init() { file_registry_proto_init() } @@ -1075,7 +1192,7 @@ func file_registry_proto_init() { } } file_registry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Match); i { + switch v := v.(*NetworkServiceRegistration); i { case 0: return &v.state case 1: @@ -1087,7 +1204,7 @@ func file_registry_proto_init() { } } file_registry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Metadata); i { + switch v := v.(*Match); i { case 0: return &v.state case 1: @@ -1099,7 +1216,7 @@ func file_registry_proto_init() { } } file_registry_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Destination); i { + switch v := v.(*Metadata); i { case 0: return &v.state case 1: @@ -1111,7 +1228,7 @@ func file_registry_proto_init() { } } file_registry_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceLabels); i { + switch v := v.(*Destination); i { case 0: return &v.state case 1: @@ -1123,7 +1240,7 @@ func file_registry_proto_init() { } } file_registry_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceEndpoint); i { + switch v := v.(*NetworkServiceLabels); i { case 0: return &v.state case 1: @@ -1135,7 +1252,7 @@ func file_registry_proto_init() { } } file_registry_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceQuery); i { + switch v := v.(*NetworkServiceEndpoint); i { case 0: return &v.state case 1: @@ -1147,7 +1264,7 @@ func file_registry_proto_init() { } } file_registry_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceEndpointQuery); i { + switch v := v.(*NetworkServiceEndpointRegistration); i { case 0: return &v.state case 1: @@ -1159,7 +1276,7 @@ func file_registry_proto_init() { } } file_registry_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceResponse); i { + switch v := v.(*NetworkServiceQuery); i { case 0: return &v.state case 1: @@ -1171,6 +1288,30 @@ func file_registry_proto_init() { } } file_registry_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkServiceEndpointQuery); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkServiceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_registry_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceEndpointResponse); i { case 0: return &v.state @@ -1189,7 +1330,7 @@ func file_registry_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_registry_proto_rawDesc, NumEnums: 0, - NumMessages: 18, + NumMessages: 20, NumExtensions: 0, NumServices: 2, }, @@ -1215,9 +1356,9 @@ const _ = grpc.SupportPackageIsVersion6 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type NetworkServiceEndpointRegistryClient interface { - Register(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*NetworkServiceEndpoint, error) + Register(ctx context.Context, in *NetworkServiceEndpointRegistration, opts ...grpc.CallOption) (*NetworkServiceEndpointRegistration, error) Find(ctx context.Context, in *NetworkServiceEndpointQuery, opts ...grpc.CallOption) (NetworkServiceEndpointRegistry_FindClient, error) - Unregister(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*emptypb.Empty, error) + Unregister(ctx context.Context, in *NetworkServiceEndpointRegistration, opts ...grpc.CallOption) (*emptypb.Empty, error) } type networkServiceEndpointRegistryClient struct { @@ -1228,8 +1369,8 @@ func NewNetworkServiceEndpointRegistryClient(cc grpc.ClientConnInterface) Networ return &networkServiceEndpointRegistryClient{cc} } -func (c *networkServiceEndpointRegistryClient) Register(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*NetworkServiceEndpoint, error) { - out := new(NetworkServiceEndpoint) +func (c *networkServiceEndpointRegistryClient) Register(ctx context.Context, in *NetworkServiceEndpointRegistration, opts ...grpc.CallOption) (*NetworkServiceEndpointRegistration, error) { + out := new(NetworkServiceEndpointRegistration) err := c.cc.Invoke(ctx, "/registry.NetworkServiceEndpointRegistry/Register", in, out, opts...) if err != nil { return nil, err @@ -1269,7 +1410,7 @@ func (x *networkServiceEndpointRegistryFindClient) Recv() (*NetworkServiceEndpoi return m, nil } -func (c *networkServiceEndpointRegistryClient) Unregister(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*emptypb.Empty, error) { +func (c *networkServiceEndpointRegistryClient) Unregister(ctx context.Context, in *NetworkServiceEndpointRegistration, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, "/registry.NetworkServiceEndpointRegistry/Unregister", in, out, opts...) if err != nil { @@ -1280,22 +1421,22 @@ func (c *networkServiceEndpointRegistryClient) Unregister(ctx context.Context, i // NetworkServiceEndpointRegistryServer is the server API for NetworkServiceEndpointRegistry service. type NetworkServiceEndpointRegistryServer interface { - Register(context.Context, *NetworkServiceEndpoint) (*NetworkServiceEndpoint, error) + Register(context.Context, *NetworkServiceEndpointRegistration) (*NetworkServiceEndpointRegistration, error) Find(*NetworkServiceEndpointQuery, NetworkServiceEndpointRegistry_FindServer) error - Unregister(context.Context, *NetworkServiceEndpoint) (*emptypb.Empty, error) + Unregister(context.Context, *NetworkServiceEndpointRegistration) (*emptypb.Empty, error) } // UnimplementedNetworkServiceEndpointRegistryServer can be embedded to have forward compatible implementations. type UnimplementedNetworkServiceEndpointRegistryServer struct { } -func (*UnimplementedNetworkServiceEndpointRegistryServer) Register(context.Context, *NetworkServiceEndpoint) (*NetworkServiceEndpoint, error) { +func (*UnimplementedNetworkServiceEndpointRegistryServer) Register(context.Context, *NetworkServiceEndpointRegistration) (*NetworkServiceEndpointRegistration, error) { return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") } func (*UnimplementedNetworkServiceEndpointRegistryServer) Find(*NetworkServiceEndpointQuery, NetworkServiceEndpointRegistry_FindServer) error { return status.Errorf(codes.Unimplemented, "method Find not implemented") } -func (*UnimplementedNetworkServiceEndpointRegistryServer) Unregister(context.Context, *NetworkServiceEndpoint) (*emptypb.Empty, error) { +func (*UnimplementedNetworkServiceEndpointRegistryServer) Unregister(context.Context, *NetworkServiceEndpointRegistration) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Unregister not implemented") } @@ -1304,7 +1445,7 @@ func RegisterNetworkServiceEndpointRegistryServer(s *grpc.Server, srv NetworkSer } func _NetworkServiceEndpointRegistry_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkServiceEndpoint) + in := new(NetworkServiceEndpointRegistration) if err := dec(in); err != nil { return nil, err } @@ -1316,7 +1457,7 @@ func _NetworkServiceEndpointRegistry_Register_Handler(srv interface{}, ctx conte FullMethod: "/registry.NetworkServiceEndpointRegistry/Register", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceEndpointRegistryServer).Register(ctx, req.(*NetworkServiceEndpoint)) + return srv.(NetworkServiceEndpointRegistryServer).Register(ctx, req.(*NetworkServiceEndpointRegistration)) } return interceptor(ctx, in, info, handler) } @@ -1343,7 +1484,7 @@ func (x *networkServiceEndpointRegistryFindServer) Send(m *NetworkServiceEndpoin } func _NetworkServiceEndpointRegistry_Unregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkServiceEndpoint) + in := new(NetworkServiceEndpointRegistration) if err := dec(in); err != nil { return nil, err } @@ -1355,7 +1496,7 @@ func _NetworkServiceEndpointRegistry_Unregister_Handler(srv interface{}, ctx con FullMethod: "/registry.NetworkServiceEndpointRegistry/Unregister", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceEndpointRegistryServer).Unregister(ctx, req.(*NetworkServiceEndpoint)) + return srv.(NetworkServiceEndpointRegistryServer).Unregister(ctx, req.(*NetworkServiceEndpointRegistration)) } return interceptor(ctx, in, info, handler) } @@ -1387,9 +1528,9 @@ var _NetworkServiceEndpointRegistry_serviceDesc = grpc.ServiceDesc{ // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type NetworkServiceRegistryClient interface { - Register(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*NetworkService, error) + Register(ctx context.Context, in *NetworkServiceRegistration, opts ...grpc.CallOption) (*NetworkServiceRegistration, error) Find(ctx context.Context, in *NetworkServiceQuery, opts ...grpc.CallOption) (NetworkServiceRegistry_FindClient, error) - Unregister(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*emptypb.Empty, error) + Unregister(ctx context.Context, in *NetworkServiceRegistration, opts ...grpc.CallOption) (*emptypb.Empty, error) } type networkServiceRegistryClient struct { @@ -1400,8 +1541,8 @@ func NewNetworkServiceRegistryClient(cc grpc.ClientConnInterface) NetworkService return &networkServiceRegistryClient{cc} } -func (c *networkServiceRegistryClient) Register(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*NetworkService, error) { - out := new(NetworkService) +func (c *networkServiceRegistryClient) Register(ctx context.Context, in *NetworkServiceRegistration, opts ...grpc.CallOption) (*NetworkServiceRegistration, error) { + out := new(NetworkServiceRegistration) err := c.cc.Invoke(ctx, "/registry.NetworkServiceRegistry/Register", in, out, opts...) if err != nil { return nil, err @@ -1441,7 +1582,7 @@ func (x *networkServiceRegistryFindClient) Recv() (*NetworkServiceResponse, erro return m, nil } -func (c *networkServiceRegistryClient) Unregister(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*emptypb.Empty, error) { +func (c *networkServiceRegistryClient) Unregister(ctx context.Context, in *NetworkServiceRegistration, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, "/registry.NetworkServiceRegistry/Unregister", in, out, opts...) if err != nil { @@ -1452,22 +1593,22 @@ func (c *networkServiceRegistryClient) Unregister(ctx context.Context, in *Netwo // NetworkServiceRegistryServer is the server API for NetworkServiceRegistry service. type NetworkServiceRegistryServer interface { - Register(context.Context, *NetworkService) (*NetworkService, error) + Register(context.Context, *NetworkServiceRegistration) (*NetworkServiceRegistration, error) Find(*NetworkServiceQuery, NetworkServiceRegistry_FindServer) error - Unregister(context.Context, *NetworkService) (*emptypb.Empty, error) + Unregister(context.Context, *NetworkServiceRegistration) (*emptypb.Empty, error) } // UnimplementedNetworkServiceRegistryServer can be embedded to have forward compatible implementations. type UnimplementedNetworkServiceRegistryServer struct { } -func (*UnimplementedNetworkServiceRegistryServer) Register(context.Context, *NetworkService) (*NetworkService, error) { +func (*UnimplementedNetworkServiceRegistryServer) Register(context.Context, *NetworkServiceRegistration) (*NetworkServiceRegistration, error) { return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") } func (*UnimplementedNetworkServiceRegistryServer) Find(*NetworkServiceQuery, NetworkServiceRegistry_FindServer) error { return status.Errorf(codes.Unimplemented, "method Find not implemented") } -func (*UnimplementedNetworkServiceRegistryServer) Unregister(context.Context, *NetworkService) (*emptypb.Empty, error) { +func (*UnimplementedNetworkServiceRegistryServer) Unregister(context.Context, *NetworkServiceRegistration) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Unregister not implemented") } @@ -1476,7 +1617,7 @@ func RegisterNetworkServiceRegistryServer(s *grpc.Server, srv NetworkServiceRegi } func _NetworkServiceRegistry_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkService) + in := new(NetworkServiceRegistration) if err := dec(in); err != nil { return nil, err } @@ -1488,7 +1629,7 @@ func _NetworkServiceRegistry_Register_Handler(srv interface{}, ctx context.Conte FullMethod: "/registry.NetworkServiceRegistry/Register", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceRegistryServer).Register(ctx, req.(*NetworkService)) + return srv.(NetworkServiceRegistryServer).Register(ctx, req.(*NetworkServiceRegistration)) } return interceptor(ctx, in, info, handler) } @@ -1515,7 +1656,7 @@ func (x *networkServiceRegistryFindServer) Send(m *NetworkServiceResponse) error } func _NetworkServiceRegistry_Unregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkService) + in := new(NetworkServiceRegistration) if err := dec(in); err != nil { return nil, err } @@ -1527,7 +1668,7 @@ func _NetworkServiceRegistry_Unregister_Handler(srv interface{}, ctx context.Con FullMethod: "/registry.NetworkServiceRegistry/Unregister", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceRegistryServer).Unregister(ctx, req.(*NetworkService)) + return srv.(NetworkServiceRegistryServer).Unregister(ctx, req.(*NetworkServiceRegistration)) } return interceptor(ctx, in, info, handler) } diff --git a/pkg/api/registry/registry.proto b/pkg/api/registry/registry.proto index 1fa2446..703a81b 100644 --- a/pkg/api/registry/registry.proto +++ b/pkg/api/registry/registry.proto @@ -22,7 +22,11 @@ message NetworkService { string name = 1; string payload = 2; repeated Match matches = 3; - Path path = 4; +} + +message NetworkServiceRegistration { + NetworkService network_service = 1; + Path path = 2; } message Match { @@ -50,21 +54,25 @@ message NetworkServiceEndpoint { repeated string network_service_names = 2; map network_service_labels = 3; string url = 4; - Path path = 5; - google.protobuf.Timestamp expiration_time = 6; - google.protobuf.Timestamp initial_registration_time = 7; + google.protobuf.Timestamp expiration_time = 5; + google.protobuf.Timestamp initial_registration_time = 6; +} + +message NetworkServiceEndpointRegistration { + NetworkServiceEndpoint network_service_endpoint = 1; + Path path = 2; } service NetworkServiceEndpointRegistry { - rpc Register (NetworkServiceEndpoint) returns (NetworkServiceEndpoint); + rpc Register (NetworkServiceEndpointRegistration) returns (NetworkServiceEndpointRegistration); rpc Find (NetworkServiceEndpointQuery) returns (stream NetworkServiceEndpointResponse); - rpc Unregister (NetworkServiceEndpoint) returns (google.protobuf.Empty); + rpc Unregister (NetworkServiceEndpointRegistration) returns (google.protobuf.Empty); } service NetworkServiceRegistry { - rpc Register (NetworkService) returns (NetworkService); + rpc Register (NetworkServiceRegistration) returns (NetworkServiceRegistration); rpc Find (NetworkServiceQuery) returns (stream NetworkServiceResponse); - rpc Unregister (NetworkService) returns (google.protobuf.Empty); + rpc Unregister (NetworkServiceRegistration) returns (google.protobuf.Empty); } message NetworkServiceQuery { From bbb1a2db7c038ecf53984ba6c08ff5f526124b73 Mon Sep 17 00:00:00 2001 From: Nikita Skrynnik Date: Thu, 20 Oct 2022 13:36:52 +0700 Subject: [PATCH 5/6] add path_ids field to NS and NSE messages Signed-off-by: Nikita Skrynnik --- pkg/api/registry/registry.pb.go | 694 +++++++++++++------------------- pkg/api/registry/registry.proto | 20 +- 2 files changed, 281 insertions(+), 433 deletions(-) diff --git a/pkg/api/registry/registry.pb.go b/pkg/api/registry/registry.pb.go index 8dfe8ac..38ebb7c 100644 --- a/pkg/api/registry/registry.pb.go +++ b/pkg/api/registry/registry.pb.go @@ -168,6 +168,7 @@ type NetworkService struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` Matches []*Match `protobuf:"bytes,3,rep,name=matches,proto3" json:"matches,omitempty"` + PathIds []string `protobuf:"bytes,4,rep,name=path_ids,json=pathIds,proto3" json:"path_ids,omitempty"` } func (x *NetworkService) Reset() { @@ -223,57 +224,9 @@ func (x *NetworkService) GetMatches() []*Match { return nil } -type NetworkServiceRegistration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NetworkService *NetworkService `protobuf:"bytes,1,opt,name=network_service,json=networkService,proto3" json:"network_service,omitempty"` - Path *Path `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` -} - -func (x *NetworkServiceRegistration) Reset() { - *x = NetworkServiceRegistration{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkServiceRegistration) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkServiceRegistration) ProtoMessage() {} - -func (x *NetworkServiceRegistration) ProtoReflect() protoreflect.Message { - mi := &file_registry_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 NetworkServiceRegistration.ProtoReflect.Descriptor instead. -func (*NetworkServiceRegistration) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{3} -} - -func (x *NetworkServiceRegistration) GetNetworkService() *NetworkService { - if x != nil { - return x.NetworkService - } - return nil -} - -func (x *NetworkServiceRegistration) GetPath() *Path { +func (x *NetworkService) GetPathIds() []string { if x != nil { - return x.Path + return x.PathIds } return nil } @@ -292,7 +245,7 @@ type Match struct { func (x *Match) Reset() { *x = Match{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[4] + mi := &file_registry_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -305,7 +258,7 @@ func (x *Match) String() string { func (*Match) ProtoMessage() {} func (x *Match) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[4] + mi := &file_registry_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -318,7 +271,7 @@ func (x *Match) ProtoReflect() protoreflect.Message { // Deprecated: Use Match.ProtoReflect.Descriptor instead. func (*Match) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{4} + return file_registry_proto_rawDescGZIP(), []int{3} } func (x *Match) GetSourceSelector() map[string]string { @@ -360,7 +313,7 @@ type Metadata struct { func (x *Metadata) Reset() { *x = Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[5] + mi := &file_registry_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -373,7 +326,7 @@ func (x *Metadata) String() string { func (*Metadata) ProtoMessage() {} func (x *Metadata) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[5] + mi := &file_registry_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -386,7 +339,7 @@ func (x *Metadata) ProtoReflect() protoreflect.Message { // Deprecated: Use Metadata.ProtoReflect.Descriptor instead. func (*Metadata) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{5} + return file_registry_proto_rawDescGZIP(), []int{4} } func (x *Metadata) GetLabels() map[string]string { @@ -408,7 +361,7 @@ type Destination struct { func (x *Destination) Reset() { *x = Destination{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[6] + mi := &file_registry_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -421,7 +374,7 @@ func (x *Destination) String() string { func (*Destination) ProtoMessage() {} func (x *Destination) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[6] + mi := &file_registry_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -434,7 +387,7 @@ func (x *Destination) ProtoReflect() protoreflect.Message { // Deprecated: Use Destination.ProtoReflect.Descriptor instead. func (*Destination) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{6} + return file_registry_proto_rawDescGZIP(), []int{5} } func (x *Destination) GetDestinationSelector() map[string]string { @@ -462,7 +415,7 @@ type NetworkServiceLabels struct { func (x *NetworkServiceLabels) Reset() { *x = NetworkServiceLabels{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[7] + mi := &file_registry_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -475,7 +428,7 @@ func (x *NetworkServiceLabels) String() string { func (*NetworkServiceLabels) ProtoMessage() {} func (x *NetworkServiceLabels) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[7] + mi := &file_registry_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -488,7 +441,7 @@ func (x *NetworkServiceLabels) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceLabels.ProtoReflect.Descriptor instead. func (*NetworkServiceLabels) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{7} + return file_registry_proto_rawDescGZIP(), []int{6} } func (x *NetworkServiceLabels) GetLabels() map[string]string { @@ -509,12 +462,13 @@ type NetworkServiceEndpoint struct { Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` InitialRegistrationTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=initial_registration_time,json=initialRegistrationTime,proto3" json:"initial_registration_time,omitempty"` + PathIds []string `protobuf:"bytes,7,rep,name=path_ids,json=pathIds,proto3" json:"path_ids,omitempty"` } func (x *NetworkServiceEndpoint) Reset() { *x = NetworkServiceEndpoint{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[8] + mi := &file_registry_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -527,7 +481,7 @@ func (x *NetworkServiceEndpoint) String() string { func (*NetworkServiceEndpoint) ProtoMessage() {} func (x *NetworkServiceEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[8] + mi := &file_registry_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -540,7 +494,7 @@ func (x *NetworkServiceEndpoint) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceEndpoint.ProtoReflect.Descriptor instead. func (*NetworkServiceEndpoint) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{8} + return file_registry_proto_rawDescGZIP(), []int{7} } func (x *NetworkServiceEndpoint) GetName() string { @@ -585,57 +539,9 @@ func (x *NetworkServiceEndpoint) GetInitialRegistrationTime() *timestamppb.Times return nil } -type NetworkServiceEndpointRegistration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NetworkServiceEndpoint *NetworkServiceEndpoint `protobuf:"bytes,1,opt,name=network_service_endpoint,json=networkServiceEndpoint,proto3" json:"network_service_endpoint,omitempty"` - Path *Path `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` -} - -func (x *NetworkServiceEndpointRegistration) Reset() { - *x = NetworkServiceEndpointRegistration{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkServiceEndpointRegistration) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkServiceEndpointRegistration) ProtoMessage() {} - -func (x *NetworkServiceEndpointRegistration) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NetworkServiceEndpointRegistration.ProtoReflect.Descriptor instead. -func (*NetworkServiceEndpointRegistration) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{9} -} - -func (x *NetworkServiceEndpointRegistration) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { - if x != nil { - return x.NetworkServiceEndpoint - } - return nil -} - -func (x *NetworkServiceEndpointRegistration) GetPath() *Path { +func (x *NetworkServiceEndpoint) GetPathIds() []string { if x != nil { - return x.Path + return x.PathIds } return nil } @@ -652,7 +558,7 @@ type NetworkServiceQuery struct { func (x *NetworkServiceQuery) Reset() { *x = NetworkServiceQuery{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[10] + mi := &file_registry_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -665,7 +571,7 @@ func (x *NetworkServiceQuery) String() string { func (*NetworkServiceQuery) ProtoMessage() {} func (x *NetworkServiceQuery) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[10] + mi := &file_registry_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -678,7 +584,7 @@ func (x *NetworkServiceQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceQuery.ProtoReflect.Descriptor instead. func (*NetworkServiceQuery) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{10} + return file_registry_proto_rawDescGZIP(), []int{8} } func (x *NetworkServiceQuery) GetNetworkService() *NetworkService { @@ -707,7 +613,7 @@ type NetworkServiceEndpointQuery struct { func (x *NetworkServiceEndpointQuery) Reset() { *x = NetworkServiceEndpointQuery{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[11] + mi := &file_registry_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -720,7 +626,7 @@ func (x *NetworkServiceEndpointQuery) String() string { func (*NetworkServiceEndpointQuery) ProtoMessage() {} func (x *NetworkServiceEndpointQuery) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[11] + mi := &file_registry_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -733,7 +639,7 @@ func (x *NetworkServiceEndpointQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceEndpointQuery.ProtoReflect.Descriptor instead. func (*NetworkServiceEndpointQuery) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{11} + return file_registry_proto_rawDescGZIP(), []int{9} } func (x *NetworkServiceEndpointQuery) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { @@ -762,7 +668,7 @@ type NetworkServiceResponse struct { func (x *NetworkServiceResponse) Reset() { *x = NetworkServiceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[12] + mi := &file_registry_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -775,7 +681,7 @@ func (x *NetworkServiceResponse) String() string { func (*NetworkServiceResponse) ProtoMessage() {} func (x *NetworkServiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[12] + mi := &file_registry_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -788,7 +694,7 @@ func (x *NetworkServiceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceResponse.ProtoReflect.Descriptor instead. func (*NetworkServiceResponse) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{12} + return file_registry_proto_rawDescGZIP(), []int{10} } func (x *NetworkServiceResponse) GetNetworkService() *NetworkService { @@ -817,7 +723,7 @@ type NetworkServiceEndpointResponse struct { func (x *NetworkServiceEndpointResponse) Reset() { *x = NetworkServiceEndpointResponse{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[13] + mi := &file_registry_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -830,7 +736,7 @@ func (x *NetworkServiceEndpointResponse) String() string { func (*NetworkServiceEndpointResponse) ProtoMessage() {} func (x *NetworkServiceEndpointResponse) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[13] + mi := &file_registry_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -843,7 +749,7 @@ func (x *NetworkServiceEndpointResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceEndpointResponse.ProtoReflect.Descriptor instead. func (*NetworkServiceEndpointResponse) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{13} + return file_registry_proto_rawDescGZIP(), []int{11} } func (x *NetworkServiceEndpointResponse) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { @@ -889,185 +795,165 @@ var file_registry_proto_rawDesc = []byte{ 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, - 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x69, 0x0a, 0x0e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x1a, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x99, 0x02, - 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, 0x68, 0x72, 0x6f, - 0x75, 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, - 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x84, 0x01, 0x0a, + 0x0e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x68, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x68, + 0x49, 0x64, 0x73, 0x22, 0x99, 0x02, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, + 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x61, + 0x6c, 0x6c, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x2e, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x7d, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, + 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, + 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x95, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7d, 0x0a, 0x08, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, - 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x14, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0xea, 0x03, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x56, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x17, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x67, 0x0a, 0x19, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0xa4, 0x01, 0x0a, 0x22, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, - 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x6e, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x41, - 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x22, 0x8f, 0x01, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x22, 0x75, 0x0a, 0x16, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x22, 0x96, 0x01, 0x0a, 0x1e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x32, 0xb7, 0x02, 0x0a, 0x1e, 0x4e, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x85, 0x04, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x66, 0x0a, 0x08, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x25, 0x2e, 0x72, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x16, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, + 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x73, 0x1a, 0x67, 0x0a, 0x19, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x6e, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, + 0x68, 0x22, 0x8f, 0x01, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x52, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x2e, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x32, 0x87, 0x02, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x56, - 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x1d, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x61, + 0x74, 0x63, 0x68, 0x22, 0x75, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, + 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x1e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, + 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x32, 0x93, 0x02, 0x0a, 0x1e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x20, 0x2e, + 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x46, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x32, 0xe3, 0x01, 0x0a, 0x16, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x18, 0x2e, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x2e, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x20, 0x2e, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x3e, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x4a, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x24, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x34, 0x5a, - 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, + 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1082,71 +968,65 @@ func file_registry_proto_rawDescGZIP() []byte { return file_registry_proto_rawDescData } -var file_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_registry_proto_goTypes = []interface{}{ - (*PathSegment)(nil), // 0: registry.PathSegment - (*Path)(nil), // 1: registry.Path - (*NetworkService)(nil), // 2: registry.NetworkService - (*NetworkServiceRegistration)(nil), // 3: registry.NetworkServiceRegistration - (*Match)(nil), // 4: registry.Match - (*Metadata)(nil), // 5: registry.Metadata - (*Destination)(nil), // 6: registry.Destination - (*NetworkServiceLabels)(nil), // 7: registry.NetworkServiceLabels - (*NetworkServiceEndpoint)(nil), // 8: registry.NetworkServiceEndpoint - (*NetworkServiceEndpointRegistration)(nil), // 9: registry.NetworkServiceEndpointRegistration - (*NetworkServiceQuery)(nil), // 10: registry.NetworkServiceQuery - (*NetworkServiceEndpointQuery)(nil), // 11: registry.NetworkServiceEndpointQuery - (*NetworkServiceResponse)(nil), // 12: registry.NetworkServiceResponse - (*NetworkServiceEndpointResponse)(nil), // 13: registry.NetworkServiceEndpointResponse - nil, // 14: registry.PathSegment.MetricsEntry - nil, // 15: registry.Match.SourceSelectorEntry - nil, // 16: registry.Metadata.LabelsEntry - nil, // 17: registry.Destination.DestinationSelectorEntry - nil, // 18: registry.NetworkServiceLabels.LabelsEntry - nil, // 19: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry - (*timestamppb.Timestamp)(nil), // 20: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 21: google.protobuf.Empty + (*PathSegment)(nil), // 0: registry.PathSegment + (*Path)(nil), // 1: registry.Path + (*NetworkService)(nil), // 2: registry.NetworkService + (*Match)(nil), // 3: registry.Match + (*Metadata)(nil), // 4: registry.Metadata + (*Destination)(nil), // 5: registry.Destination + (*NetworkServiceLabels)(nil), // 6: registry.NetworkServiceLabels + (*NetworkServiceEndpoint)(nil), // 7: registry.NetworkServiceEndpoint + (*NetworkServiceQuery)(nil), // 8: registry.NetworkServiceQuery + (*NetworkServiceEndpointQuery)(nil), // 9: registry.NetworkServiceEndpointQuery + (*NetworkServiceResponse)(nil), // 10: registry.NetworkServiceResponse + (*NetworkServiceEndpointResponse)(nil), // 11: registry.NetworkServiceEndpointResponse + nil, // 12: registry.PathSegment.MetricsEntry + nil, // 13: registry.Match.SourceSelectorEntry + nil, // 14: registry.Metadata.LabelsEntry + nil, // 15: registry.Destination.DestinationSelectorEntry + nil, // 16: registry.NetworkServiceLabels.LabelsEntry + nil, // 17: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry + (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 19: google.protobuf.Empty } var file_registry_proto_depIdxs = []int32{ - 20, // 0: registry.PathSegment.expires:type_name -> google.protobuf.Timestamp - 14, // 1: registry.PathSegment.metrics:type_name -> registry.PathSegment.MetricsEntry + 18, // 0: registry.PathSegment.expires:type_name -> google.protobuf.Timestamp + 12, // 1: registry.PathSegment.metrics:type_name -> registry.PathSegment.MetricsEntry 0, // 2: registry.Path.path_segments:type_name -> registry.PathSegment - 4, // 3: registry.NetworkService.matches:type_name -> registry.Match - 2, // 4: registry.NetworkServiceRegistration.network_service:type_name -> registry.NetworkService - 1, // 5: registry.NetworkServiceRegistration.path:type_name -> registry.Path - 15, // 6: registry.Match.source_selector:type_name -> registry.Match.SourceSelectorEntry - 6, // 7: registry.Match.routes:type_name -> registry.Destination - 5, // 8: registry.Match.metadata:type_name -> registry.Metadata - 16, // 9: registry.Metadata.labels:type_name -> registry.Metadata.LabelsEntry - 17, // 10: registry.Destination.destination_selector:type_name -> registry.Destination.DestinationSelectorEntry - 18, // 11: registry.NetworkServiceLabels.labels:type_name -> registry.NetworkServiceLabels.LabelsEntry - 19, // 12: registry.NetworkServiceEndpoint.network_service_labels:type_name -> registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry - 20, // 13: registry.NetworkServiceEndpoint.expiration_time:type_name -> google.protobuf.Timestamp - 20, // 14: registry.NetworkServiceEndpoint.initial_registration_time:type_name -> google.protobuf.Timestamp - 8, // 15: registry.NetworkServiceEndpointRegistration.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint - 1, // 16: registry.NetworkServiceEndpointRegistration.path:type_name -> registry.Path - 2, // 17: registry.NetworkServiceQuery.network_service:type_name -> registry.NetworkService - 8, // 18: registry.NetworkServiceEndpointQuery.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint - 2, // 19: registry.NetworkServiceResponse.network_service:type_name -> registry.NetworkService - 8, // 20: registry.NetworkServiceEndpointResponse.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint - 7, // 21: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry.value:type_name -> registry.NetworkServiceLabels - 9, // 22: registry.NetworkServiceEndpointRegistry.Register:input_type -> registry.NetworkServiceEndpointRegistration - 11, // 23: registry.NetworkServiceEndpointRegistry.Find:input_type -> registry.NetworkServiceEndpointQuery - 9, // 24: registry.NetworkServiceEndpointRegistry.Unregister:input_type -> registry.NetworkServiceEndpointRegistration - 3, // 25: registry.NetworkServiceRegistry.Register:input_type -> registry.NetworkServiceRegistration - 10, // 26: registry.NetworkServiceRegistry.Find:input_type -> registry.NetworkServiceQuery - 3, // 27: registry.NetworkServiceRegistry.Unregister:input_type -> registry.NetworkServiceRegistration - 9, // 28: registry.NetworkServiceEndpointRegistry.Register:output_type -> registry.NetworkServiceEndpointRegistration - 13, // 29: registry.NetworkServiceEndpointRegistry.Find:output_type -> registry.NetworkServiceEndpointResponse - 21, // 30: registry.NetworkServiceEndpointRegistry.Unregister:output_type -> google.protobuf.Empty - 3, // 31: registry.NetworkServiceRegistry.Register:output_type -> registry.NetworkServiceRegistration - 12, // 32: registry.NetworkServiceRegistry.Find:output_type -> registry.NetworkServiceResponse - 21, // 33: registry.NetworkServiceRegistry.Unregister:output_type -> google.protobuf.Empty - 28, // [28:34] is the sub-list for method output_type - 22, // [22:28] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 3, // 3: registry.NetworkService.matches:type_name -> registry.Match + 13, // 4: registry.Match.source_selector:type_name -> registry.Match.SourceSelectorEntry + 5, // 5: registry.Match.routes:type_name -> registry.Destination + 4, // 6: registry.Match.metadata:type_name -> registry.Metadata + 14, // 7: registry.Metadata.labels:type_name -> registry.Metadata.LabelsEntry + 15, // 8: registry.Destination.destination_selector:type_name -> registry.Destination.DestinationSelectorEntry + 16, // 9: registry.NetworkServiceLabels.labels:type_name -> registry.NetworkServiceLabels.LabelsEntry + 17, // 10: registry.NetworkServiceEndpoint.network_service_labels:type_name -> registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry + 18, // 11: registry.NetworkServiceEndpoint.expiration_time:type_name -> google.protobuf.Timestamp + 18, // 12: registry.NetworkServiceEndpoint.initial_registration_time:type_name -> google.protobuf.Timestamp + 2, // 13: registry.NetworkServiceQuery.network_service:type_name -> registry.NetworkService + 7, // 14: registry.NetworkServiceEndpointQuery.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint + 2, // 15: registry.NetworkServiceResponse.network_service:type_name -> registry.NetworkService + 7, // 16: registry.NetworkServiceEndpointResponse.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint + 6, // 17: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry.value:type_name -> registry.NetworkServiceLabels + 7, // 18: registry.NetworkServiceEndpointRegistry.Register:input_type -> registry.NetworkServiceEndpoint + 9, // 19: registry.NetworkServiceEndpointRegistry.Find:input_type -> registry.NetworkServiceEndpointQuery + 7, // 20: registry.NetworkServiceEndpointRegistry.Unregister:input_type -> registry.NetworkServiceEndpoint + 2, // 21: registry.NetworkServiceRegistry.Register:input_type -> registry.NetworkService + 8, // 22: registry.NetworkServiceRegistry.Find:input_type -> registry.NetworkServiceQuery + 2, // 23: registry.NetworkServiceRegistry.Unregister:input_type -> registry.NetworkService + 7, // 24: registry.NetworkServiceEndpointRegistry.Register:output_type -> registry.NetworkServiceEndpoint + 11, // 25: registry.NetworkServiceEndpointRegistry.Find:output_type -> registry.NetworkServiceEndpointResponse + 19, // 26: registry.NetworkServiceEndpointRegistry.Unregister:output_type -> google.protobuf.Empty + 2, // 27: registry.NetworkServiceRegistry.Register:output_type -> registry.NetworkService + 10, // 28: registry.NetworkServiceRegistry.Find:output_type -> registry.NetworkServiceResponse + 19, // 29: registry.NetworkServiceRegistry.Unregister:output_type -> google.protobuf.Empty + 24, // [24:30] is the sub-list for method output_type + 18, // [18:24] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_registry_proto_init() } @@ -1192,18 +1072,6 @@ func file_registry_proto_init() { } } file_registry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceRegistration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Match); i { case 0: return &v.state @@ -1215,7 +1083,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Metadata); i { case 0: return &v.state @@ -1227,7 +1095,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Destination); i { case 0: return &v.state @@ -1239,7 +1107,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceLabels); i { case 0: return &v.state @@ -1251,7 +1119,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceEndpoint); i { case 0: return &v.state @@ -1263,19 +1131,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkServiceEndpointRegistration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceQuery); i { case 0: return &v.state @@ -1287,7 +1143,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceEndpointQuery); i { case 0: return &v.state @@ -1299,7 +1155,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceResponse); i { case 0: return &v.state @@ -1311,7 +1167,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceEndpointResponse); i { case 0: return &v.state @@ -1330,7 +1186,7 @@ func file_registry_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_registry_proto_rawDesc, NumEnums: 0, - NumMessages: 20, + NumMessages: 18, NumExtensions: 0, NumServices: 2, }, @@ -1356,9 +1212,9 @@ const _ = grpc.SupportPackageIsVersion6 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type NetworkServiceEndpointRegistryClient interface { - Register(ctx context.Context, in *NetworkServiceEndpointRegistration, opts ...grpc.CallOption) (*NetworkServiceEndpointRegistration, error) + Register(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*NetworkServiceEndpoint, error) Find(ctx context.Context, in *NetworkServiceEndpointQuery, opts ...grpc.CallOption) (NetworkServiceEndpointRegistry_FindClient, error) - Unregister(ctx context.Context, in *NetworkServiceEndpointRegistration, opts ...grpc.CallOption) (*emptypb.Empty, error) + Unregister(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*emptypb.Empty, error) } type networkServiceEndpointRegistryClient struct { @@ -1369,8 +1225,8 @@ func NewNetworkServiceEndpointRegistryClient(cc grpc.ClientConnInterface) Networ return &networkServiceEndpointRegistryClient{cc} } -func (c *networkServiceEndpointRegistryClient) Register(ctx context.Context, in *NetworkServiceEndpointRegistration, opts ...grpc.CallOption) (*NetworkServiceEndpointRegistration, error) { - out := new(NetworkServiceEndpointRegistration) +func (c *networkServiceEndpointRegistryClient) Register(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*NetworkServiceEndpoint, error) { + out := new(NetworkServiceEndpoint) err := c.cc.Invoke(ctx, "/registry.NetworkServiceEndpointRegistry/Register", in, out, opts...) if err != nil { return nil, err @@ -1410,7 +1266,7 @@ func (x *networkServiceEndpointRegistryFindClient) Recv() (*NetworkServiceEndpoi return m, nil } -func (c *networkServiceEndpointRegistryClient) Unregister(ctx context.Context, in *NetworkServiceEndpointRegistration, opts ...grpc.CallOption) (*emptypb.Empty, error) { +func (c *networkServiceEndpointRegistryClient) Unregister(ctx context.Context, in *NetworkServiceEndpoint, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, "/registry.NetworkServiceEndpointRegistry/Unregister", in, out, opts...) if err != nil { @@ -1421,22 +1277,22 @@ func (c *networkServiceEndpointRegistryClient) Unregister(ctx context.Context, i // NetworkServiceEndpointRegistryServer is the server API for NetworkServiceEndpointRegistry service. type NetworkServiceEndpointRegistryServer interface { - Register(context.Context, *NetworkServiceEndpointRegistration) (*NetworkServiceEndpointRegistration, error) + Register(context.Context, *NetworkServiceEndpoint) (*NetworkServiceEndpoint, error) Find(*NetworkServiceEndpointQuery, NetworkServiceEndpointRegistry_FindServer) error - Unregister(context.Context, *NetworkServiceEndpointRegistration) (*emptypb.Empty, error) + Unregister(context.Context, *NetworkServiceEndpoint) (*emptypb.Empty, error) } // UnimplementedNetworkServiceEndpointRegistryServer can be embedded to have forward compatible implementations. type UnimplementedNetworkServiceEndpointRegistryServer struct { } -func (*UnimplementedNetworkServiceEndpointRegistryServer) Register(context.Context, *NetworkServiceEndpointRegistration) (*NetworkServiceEndpointRegistration, error) { +func (*UnimplementedNetworkServiceEndpointRegistryServer) Register(context.Context, *NetworkServiceEndpoint) (*NetworkServiceEndpoint, error) { return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") } func (*UnimplementedNetworkServiceEndpointRegistryServer) Find(*NetworkServiceEndpointQuery, NetworkServiceEndpointRegistry_FindServer) error { return status.Errorf(codes.Unimplemented, "method Find not implemented") } -func (*UnimplementedNetworkServiceEndpointRegistryServer) Unregister(context.Context, *NetworkServiceEndpointRegistration) (*emptypb.Empty, error) { +func (*UnimplementedNetworkServiceEndpointRegistryServer) Unregister(context.Context, *NetworkServiceEndpoint) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Unregister not implemented") } @@ -1445,7 +1301,7 @@ func RegisterNetworkServiceEndpointRegistryServer(s *grpc.Server, srv NetworkSer } func _NetworkServiceEndpointRegistry_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkServiceEndpointRegistration) + in := new(NetworkServiceEndpoint) if err := dec(in); err != nil { return nil, err } @@ -1457,7 +1313,7 @@ func _NetworkServiceEndpointRegistry_Register_Handler(srv interface{}, ctx conte FullMethod: "/registry.NetworkServiceEndpointRegistry/Register", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceEndpointRegistryServer).Register(ctx, req.(*NetworkServiceEndpointRegistration)) + return srv.(NetworkServiceEndpointRegistryServer).Register(ctx, req.(*NetworkServiceEndpoint)) } return interceptor(ctx, in, info, handler) } @@ -1484,7 +1340,7 @@ func (x *networkServiceEndpointRegistryFindServer) Send(m *NetworkServiceEndpoin } func _NetworkServiceEndpointRegistry_Unregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkServiceEndpointRegistration) + in := new(NetworkServiceEndpoint) if err := dec(in); err != nil { return nil, err } @@ -1496,7 +1352,7 @@ func _NetworkServiceEndpointRegistry_Unregister_Handler(srv interface{}, ctx con FullMethod: "/registry.NetworkServiceEndpointRegistry/Unregister", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceEndpointRegistryServer).Unregister(ctx, req.(*NetworkServiceEndpointRegistration)) + return srv.(NetworkServiceEndpointRegistryServer).Unregister(ctx, req.(*NetworkServiceEndpoint)) } return interceptor(ctx, in, info, handler) } @@ -1528,9 +1384,9 @@ var _NetworkServiceEndpointRegistry_serviceDesc = grpc.ServiceDesc{ // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type NetworkServiceRegistryClient interface { - Register(ctx context.Context, in *NetworkServiceRegistration, opts ...grpc.CallOption) (*NetworkServiceRegistration, error) + Register(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*NetworkService, error) Find(ctx context.Context, in *NetworkServiceQuery, opts ...grpc.CallOption) (NetworkServiceRegistry_FindClient, error) - Unregister(ctx context.Context, in *NetworkServiceRegistration, opts ...grpc.CallOption) (*emptypb.Empty, error) + Unregister(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*emptypb.Empty, error) } type networkServiceRegistryClient struct { @@ -1541,8 +1397,8 @@ func NewNetworkServiceRegistryClient(cc grpc.ClientConnInterface) NetworkService return &networkServiceRegistryClient{cc} } -func (c *networkServiceRegistryClient) Register(ctx context.Context, in *NetworkServiceRegistration, opts ...grpc.CallOption) (*NetworkServiceRegistration, error) { - out := new(NetworkServiceRegistration) +func (c *networkServiceRegistryClient) Register(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*NetworkService, error) { + out := new(NetworkService) err := c.cc.Invoke(ctx, "/registry.NetworkServiceRegistry/Register", in, out, opts...) if err != nil { return nil, err @@ -1582,7 +1438,7 @@ func (x *networkServiceRegistryFindClient) Recv() (*NetworkServiceResponse, erro return m, nil } -func (c *networkServiceRegistryClient) Unregister(ctx context.Context, in *NetworkServiceRegistration, opts ...grpc.CallOption) (*emptypb.Empty, error) { +func (c *networkServiceRegistryClient) Unregister(ctx context.Context, in *NetworkService, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, "/registry.NetworkServiceRegistry/Unregister", in, out, opts...) if err != nil { @@ -1593,22 +1449,22 @@ func (c *networkServiceRegistryClient) Unregister(ctx context.Context, in *Netwo // NetworkServiceRegistryServer is the server API for NetworkServiceRegistry service. type NetworkServiceRegistryServer interface { - Register(context.Context, *NetworkServiceRegistration) (*NetworkServiceRegistration, error) + Register(context.Context, *NetworkService) (*NetworkService, error) Find(*NetworkServiceQuery, NetworkServiceRegistry_FindServer) error - Unregister(context.Context, *NetworkServiceRegistration) (*emptypb.Empty, error) + Unregister(context.Context, *NetworkService) (*emptypb.Empty, error) } // UnimplementedNetworkServiceRegistryServer can be embedded to have forward compatible implementations. type UnimplementedNetworkServiceRegistryServer struct { } -func (*UnimplementedNetworkServiceRegistryServer) Register(context.Context, *NetworkServiceRegistration) (*NetworkServiceRegistration, error) { +func (*UnimplementedNetworkServiceRegistryServer) Register(context.Context, *NetworkService) (*NetworkService, error) { return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") } func (*UnimplementedNetworkServiceRegistryServer) Find(*NetworkServiceQuery, NetworkServiceRegistry_FindServer) error { return status.Errorf(codes.Unimplemented, "method Find not implemented") } -func (*UnimplementedNetworkServiceRegistryServer) Unregister(context.Context, *NetworkServiceRegistration) (*emptypb.Empty, error) { +func (*UnimplementedNetworkServiceRegistryServer) Unregister(context.Context, *NetworkService) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Unregister not implemented") } @@ -1617,7 +1473,7 @@ func RegisterNetworkServiceRegistryServer(s *grpc.Server, srv NetworkServiceRegi } func _NetworkServiceRegistry_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkServiceRegistration) + in := new(NetworkService) if err := dec(in); err != nil { return nil, err } @@ -1629,7 +1485,7 @@ func _NetworkServiceRegistry_Register_Handler(srv interface{}, ctx context.Conte FullMethod: "/registry.NetworkServiceRegistry/Register", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceRegistryServer).Register(ctx, req.(*NetworkServiceRegistration)) + return srv.(NetworkServiceRegistryServer).Register(ctx, req.(*NetworkService)) } return interceptor(ctx, in, info, handler) } @@ -1656,7 +1512,7 @@ func (x *networkServiceRegistryFindServer) Send(m *NetworkServiceResponse) error } func _NetworkServiceRegistry_Unregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkServiceRegistration) + in := new(NetworkService) if err := dec(in); err != nil { return nil, err } @@ -1668,7 +1524,7 @@ func _NetworkServiceRegistry_Unregister_Handler(srv interface{}, ctx context.Con FullMethod: "/registry.NetworkServiceRegistry/Unregister", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NetworkServiceRegistryServer).Unregister(ctx, req.(*NetworkServiceRegistration)) + return srv.(NetworkServiceRegistryServer).Unregister(ctx, req.(*NetworkService)) } return interceptor(ctx, in, info, handler) } diff --git a/pkg/api/registry/registry.proto b/pkg/api/registry/registry.proto index 703a81b..17b686d 100644 --- a/pkg/api/registry/registry.proto +++ b/pkg/api/registry/registry.proto @@ -22,11 +22,7 @@ message NetworkService { string name = 1; string payload = 2; repeated Match matches = 3; -} - -message NetworkServiceRegistration { - NetworkService network_service = 1; - Path path = 2; + repeated string path_ids = 4; } message Match { @@ -56,23 +52,19 @@ message NetworkServiceEndpoint { string url = 4; google.protobuf.Timestamp expiration_time = 5; google.protobuf.Timestamp initial_registration_time = 6; -} - -message NetworkServiceEndpointRegistration { - NetworkServiceEndpoint network_service_endpoint = 1; - Path path = 2; + repeated string path_ids = 7; } service NetworkServiceEndpointRegistry { - rpc Register (NetworkServiceEndpointRegistration) returns (NetworkServiceEndpointRegistration); + rpc Register (NetworkServiceEndpoint) returns (NetworkServiceEndpoint); rpc Find (NetworkServiceEndpointQuery) returns (stream NetworkServiceEndpointResponse); - rpc Unregister (NetworkServiceEndpointRegistration) returns (google.protobuf.Empty); + rpc Unregister (NetworkServiceEndpoint) returns (google.protobuf.Empty); } service NetworkServiceRegistry { - rpc Register (NetworkServiceRegistration) returns (NetworkServiceRegistration); + rpc Register (NetworkService) returns (NetworkService); rpc Find (NetworkServiceQuery) returns (stream NetworkServiceResponse); - rpc Unregister (NetworkServiceRegistration) returns (google.protobuf.Empty); + rpc Unregister (NetworkService) returns (google.protobuf.Empty); } message NetworkServiceQuery { From 9608bf3551799979fdf50bb343c2fb9a4d009a00 Mon Sep 17 00:00:00 2001 From: Nikita Skrynnik Date: Mon, 21 Nov 2022 14:47:24 +0700 Subject: [PATCH 6/6] remove Path and PathSegment from registry.proto Signed-off-by: Nikita Skrynnik --- pkg/api/registry/registry.pb.go | 661 ++++++++++++-------------------- pkg/api/registry/registry.proto | 12 - 2 files changed, 238 insertions(+), 435 deletions(-) diff --git a/pkg/api/registry/registry.pb.go b/pkg/api/registry/registry.pb.go index 38ebb7c..c6c82d6 100644 --- a/pkg/api/registry/registry.pb.go +++ b/pkg/api/registry/registry.pb.go @@ -26,140 +26,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type PathSegment struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` - Expires *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires,proto3" json:"expires,omitempty"` - Metrics map[string]string `protobuf:"bytes,5,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *PathSegment) Reset() { - *x = PathSegment{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PathSegment) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PathSegment) ProtoMessage() {} - -func (x *PathSegment) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PathSegment.ProtoReflect.Descriptor instead. -func (*PathSegment) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{0} -} - -func (x *PathSegment) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *PathSegment) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *PathSegment) GetToken() string { - if x != nil { - return x.Token - } - return "" -} - -func (x *PathSegment) GetExpires() *timestamppb.Timestamp { - if x != nil { - return x.Expires - } - return nil -} - -func (x *PathSegment) GetMetrics() map[string]string { - if x != nil { - return x.Metrics - } - return nil -} - -type Path struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` - PathSegments []*PathSegment `protobuf:"bytes,2,rep,name=path_segments,json=pathSegments,proto3" json:"path_segments,omitempty"` -} - -func (x *Path) Reset() { - *x = Path{} - if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Path) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Path) ProtoMessage() {} - -func (x *Path) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Path.ProtoReflect.Descriptor instead. -func (*Path) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{1} -} - -func (x *Path) GetIndex() uint32 { - if x != nil { - return x.Index - } - return 0 -} - -func (x *Path) GetPathSegments() []*PathSegment { - if x != nil { - return x.PathSegments - } - return nil -} - type NetworkService struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -174,7 +40,7 @@ type NetworkService struct { func (x *NetworkService) Reset() { *x = NetworkService{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[2] + mi := &file_registry_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -187,7 +53,7 @@ func (x *NetworkService) String() string { func (*NetworkService) ProtoMessage() {} func (x *NetworkService) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[2] + mi := &file_registry_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -200,7 +66,7 @@ func (x *NetworkService) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkService.ProtoReflect.Descriptor instead. func (*NetworkService) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{2} + return file_registry_proto_rawDescGZIP(), []int{0} } func (x *NetworkService) GetName() string { @@ -245,7 +111,7 @@ type Match struct { func (x *Match) Reset() { *x = Match{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[3] + mi := &file_registry_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -258,7 +124,7 @@ func (x *Match) String() string { func (*Match) ProtoMessage() {} func (x *Match) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[3] + mi := &file_registry_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -271,7 +137,7 @@ func (x *Match) ProtoReflect() protoreflect.Message { // Deprecated: Use Match.ProtoReflect.Descriptor instead. func (*Match) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{3} + return file_registry_proto_rawDescGZIP(), []int{1} } func (x *Match) GetSourceSelector() map[string]string { @@ -313,7 +179,7 @@ type Metadata struct { func (x *Metadata) Reset() { *x = Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[4] + mi := &file_registry_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -326,7 +192,7 @@ func (x *Metadata) String() string { func (*Metadata) ProtoMessage() {} func (x *Metadata) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[4] + mi := &file_registry_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -339,7 +205,7 @@ func (x *Metadata) ProtoReflect() protoreflect.Message { // Deprecated: Use Metadata.ProtoReflect.Descriptor instead. func (*Metadata) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{4} + return file_registry_proto_rawDescGZIP(), []int{2} } func (x *Metadata) GetLabels() map[string]string { @@ -361,7 +227,7 @@ type Destination struct { func (x *Destination) Reset() { *x = Destination{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[5] + mi := &file_registry_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -374,7 +240,7 @@ func (x *Destination) String() string { func (*Destination) ProtoMessage() {} func (x *Destination) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[5] + mi := &file_registry_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -387,7 +253,7 @@ func (x *Destination) ProtoReflect() protoreflect.Message { // Deprecated: Use Destination.ProtoReflect.Descriptor instead. func (*Destination) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{5} + return file_registry_proto_rawDescGZIP(), []int{3} } func (x *Destination) GetDestinationSelector() map[string]string { @@ -415,7 +281,7 @@ type NetworkServiceLabels struct { func (x *NetworkServiceLabels) Reset() { *x = NetworkServiceLabels{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[6] + mi := &file_registry_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -428,7 +294,7 @@ func (x *NetworkServiceLabels) String() string { func (*NetworkServiceLabels) ProtoMessage() {} func (x *NetworkServiceLabels) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[6] + mi := &file_registry_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -441,7 +307,7 @@ func (x *NetworkServiceLabels) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceLabels.ProtoReflect.Descriptor instead. func (*NetworkServiceLabels) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{6} + return file_registry_proto_rawDescGZIP(), []int{4} } func (x *NetworkServiceLabels) GetLabels() map[string]string { @@ -468,7 +334,7 @@ type NetworkServiceEndpoint struct { func (x *NetworkServiceEndpoint) Reset() { *x = NetworkServiceEndpoint{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[7] + mi := &file_registry_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -481,7 +347,7 @@ func (x *NetworkServiceEndpoint) String() string { func (*NetworkServiceEndpoint) ProtoMessage() {} func (x *NetworkServiceEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[7] + mi := &file_registry_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -494,7 +360,7 @@ func (x *NetworkServiceEndpoint) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceEndpoint.ProtoReflect.Descriptor instead. func (*NetworkServiceEndpoint) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{7} + return file_registry_proto_rawDescGZIP(), []int{5} } func (x *NetworkServiceEndpoint) GetName() string { @@ -558,7 +424,7 @@ type NetworkServiceQuery struct { func (x *NetworkServiceQuery) Reset() { *x = NetworkServiceQuery{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[8] + mi := &file_registry_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -571,7 +437,7 @@ func (x *NetworkServiceQuery) String() string { func (*NetworkServiceQuery) ProtoMessage() {} func (x *NetworkServiceQuery) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[8] + mi := &file_registry_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -584,7 +450,7 @@ func (x *NetworkServiceQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceQuery.ProtoReflect.Descriptor instead. func (*NetworkServiceQuery) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{8} + return file_registry_proto_rawDescGZIP(), []int{6} } func (x *NetworkServiceQuery) GetNetworkService() *NetworkService { @@ -613,7 +479,7 @@ type NetworkServiceEndpointQuery struct { func (x *NetworkServiceEndpointQuery) Reset() { *x = NetworkServiceEndpointQuery{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[9] + mi := &file_registry_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -626,7 +492,7 @@ func (x *NetworkServiceEndpointQuery) String() string { func (*NetworkServiceEndpointQuery) ProtoMessage() {} func (x *NetworkServiceEndpointQuery) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[9] + mi := &file_registry_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -639,7 +505,7 @@ func (x *NetworkServiceEndpointQuery) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceEndpointQuery.ProtoReflect.Descriptor instead. func (*NetworkServiceEndpointQuery) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{9} + return file_registry_proto_rawDescGZIP(), []int{7} } func (x *NetworkServiceEndpointQuery) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { @@ -668,7 +534,7 @@ type NetworkServiceResponse struct { func (x *NetworkServiceResponse) Reset() { *x = NetworkServiceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[10] + mi := &file_registry_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -681,7 +547,7 @@ func (x *NetworkServiceResponse) String() string { func (*NetworkServiceResponse) ProtoMessage() {} func (x *NetworkServiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[10] + mi := &file_registry_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -694,7 +560,7 @@ func (x *NetworkServiceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceResponse.ProtoReflect.Descriptor instead. func (*NetworkServiceResponse) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{10} + return file_registry_proto_rawDescGZIP(), []int{8} } func (x *NetworkServiceResponse) GetNetworkService() *NetworkService { @@ -723,7 +589,7 @@ type NetworkServiceEndpointResponse struct { func (x *NetworkServiceEndpointResponse) Reset() { *x = NetworkServiceEndpointResponse{} if protoimpl.UnsafeEnabled { - mi := &file_registry_proto_msgTypes[11] + mi := &file_registry_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -736,7 +602,7 @@ func (x *NetworkServiceEndpointResponse) String() string { func (*NetworkServiceEndpointResponse) ProtoMessage() {} func (x *NetworkServiceEndpointResponse) ProtoReflect() protoreflect.Message { - mi := &file_registry_proto_msgTypes[11] + mi := &file_registry_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -749,7 +615,7 @@ func (x *NetworkServiceEndpointResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkServiceEndpointResponse.ProtoReflect.Descriptor instead. func (*NetworkServiceEndpointResponse) Descriptor() ([]byte, []int) { - return file_registry_proto_rawDescGZIP(), []int{11} + return file_registry_proto_rawDescGZIP(), []int{9} } func (x *NetworkServiceEndpointResponse) GetNetworkServiceEndpoint() *NetworkServiceEndpoint { @@ -774,186 +640,165 @@ var file_registry_proto_rawDesc = []byte{ 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x01, 0x0a, 0x0b, 0x50, 0x61, 0x74, - 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x58, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x0e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x07, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x73, 0x22, + 0x99, 0x02, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, - 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x84, 0x01, 0x0a, - 0x0e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, - 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x68, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x68, - 0x49, 0x64, 0x73, 0x22, 0x99, 0x02, 0x0a, 0x05, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4c, 0x0a, - 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x61, - 0x6c, 0x6c, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x2e, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x7d, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, - 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, - 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x95, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, - 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x85, 0x04, 0x0a, 0x16, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x16, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, - 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x07, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x73, 0x1a, 0x67, 0x0a, 0x19, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x6e, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, - 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, - 0x68, 0x22, 0x8f, 0x01, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x61, - 0x74, 0x63, 0x68, 0x22, 0x75, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, - 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x72, 0x79, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x61, 0x6c, 0x6c, 0x74, 0x68, + 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x66, 0x61, 0x6c, + 0x6c, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7d, 0x0a, 0x08, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, + 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, 0x01, 0x0a, 0x0b, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x14, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x1a, 0x46, 0x0a, 0x18, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x95, 0x01, + 0x0a, 0x14, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x1e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x85, 0x04, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x43, 0x0a, 0x0f, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x56, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x61, 0x74, + 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, + 0x68, 0x49, 0x64, 0x73, 0x1a, 0x67, 0x0a, 0x19, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6e, 0x0a, + 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x22, 0x8f, 0x01, + 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x32, 0x93, 0x02, 0x0a, 0x1e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x25, + 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x61, 0x74, + 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x22, + 0x75, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x1e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x18, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x16, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x32, + 0x93, 0x02, 0x0a, 0x1e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x46, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x32, 0xe3, 0x01, 0x0a, 0x16, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x12, 0x3e, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x18, 0x2e, 0x72, 0x65, 0x67, + 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x25, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x2e, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x20, 0x2e, 0x72, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x1a, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x46, 0x0a, + 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x3e, 0x0a, 0x0a, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x2e, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, - 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x32, 0xe3, 0x01, 0x0a, 0x16, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x12, 0x3e, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x1a, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x49, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x3e, 0x0a, 0x0a, 0x55, + 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x34, 0x5a, 0x32, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -968,65 +813,59 @@ func file_registry_proto_rawDescGZIP() []byte { return file_registry_proto_rawDescData } -var file_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_registry_proto_goTypes = []interface{}{ - (*PathSegment)(nil), // 0: registry.PathSegment - (*Path)(nil), // 1: registry.Path - (*NetworkService)(nil), // 2: registry.NetworkService - (*Match)(nil), // 3: registry.Match - (*Metadata)(nil), // 4: registry.Metadata - (*Destination)(nil), // 5: registry.Destination - (*NetworkServiceLabels)(nil), // 6: registry.NetworkServiceLabels - (*NetworkServiceEndpoint)(nil), // 7: registry.NetworkServiceEndpoint - (*NetworkServiceQuery)(nil), // 8: registry.NetworkServiceQuery - (*NetworkServiceEndpointQuery)(nil), // 9: registry.NetworkServiceEndpointQuery - (*NetworkServiceResponse)(nil), // 10: registry.NetworkServiceResponse - (*NetworkServiceEndpointResponse)(nil), // 11: registry.NetworkServiceEndpointResponse - nil, // 12: registry.PathSegment.MetricsEntry - nil, // 13: registry.Match.SourceSelectorEntry - nil, // 14: registry.Metadata.LabelsEntry - nil, // 15: registry.Destination.DestinationSelectorEntry - nil, // 16: registry.NetworkServiceLabels.LabelsEntry - nil, // 17: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry - (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp - (*emptypb.Empty)(nil), // 19: google.protobuf.Empty + (*NetworkService)(nil), // 0: registry.NetworkService + (*Match)(nil), // 1: registry.Match + (*Metadata)(nil), // 2: registry.Metadata + (*Destination)(nil), // 3: registry.Destination + (*NetworkServiceLabels)(nil), // 4: registry.NetworkServiceLabels + (*NetworkServiceEndpoint)(nil), // 5: registry.NetworkServiceEndpoint + (*NetworkServiceQuery)(nil), // 6: registry.NetworkServiceQuery + (*NetworkServiceEndpointQuery)(nil), // 7: registry.NetworkServiceEndpointQuery + (*NetworkServiceResponse)(nil), // 8: registry.NetworkServiceResponse + (*NetworkServiceEndpointResponse)(nil), // 9: registry.NetworkServiceEndpointResponse + nil, // 10: registry.Match.SourceSelectorEntry + nil, // 11: registry.Metadata.LabelsEntry + nil, // 12: registry.Destination.DestinationSelectorEntry + nil, // 13: registry.NetworkServiceLabels.LabelsEntry + nil, // 14: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry + (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp + (*emptypb.Empty)(nil), // 16: google.protobuf.Empty } var file_registry_proto_depIdxs = []int32{ - 18, // 0: registry.PathSegment.expires:type_name -> google.protobuf.Timestamp - 12, // 1: registry.PathSegment.metrics:type_name -> registry.PathSegment.MetricsEntry - 0, // 2: registry.Path.path_segments:type_name -> registry.PathSegment - 3, // 3: registry.NetworkService.matches:type_name -> registry.Match - 13, // 4: registry.Match.source_selector:type_name -> registry.Match.SourceSelectorEntry - 5, // 5: registry.Match.routes:type_name -> registry.Destination - 4, // 6: registry.Match.metadata:type_name -> registry.Metadata - 14, // 7: registry.Metadata.labels:type_name -> registry.Metadata.LabelsEntry - 15, // 8: registry.Destination.destination_selector:type_name -> registry.Destination.DestinationSelectorEntry - 16, // 9: registry.NetworkServiceLabels.labels:type_name -> registry.NetworkServiceLabels.LabelsEntry - 17, // 10: registry.NetworkServiceEndpoint.network_service_labels:type_name -> registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry - 18, // 11: registry.NetworkServiceEndpoint.expiration_time:type_name -> google.protobuf.Timestamp - 18, // 12: registry.NetworkServiceEndpoint.initial_registration_time:type_name -> google.protobuf.Timestamp - 2, // 13: registry.NetworkServiceQuery.network_service:type_name -> registry.NetworkService - 7, // 14: registry.NetworkServiceEndpointQuery.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint - 2, // 15: registry.NetworkServiceResponse.network_service:type_name -> registry.NetworkService - 7, // 16: registry.NetworkServiceEndpointResponse.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint - 6, // 17: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry.value:type_name -> registry.NetworkServiceLabels - 7, // 18: registry.NetworkServiceEndpointRegistry.Register:input_type -> registry.NetworkServiceEndpoint - 9, // 19: registry.NetworkServiceEndpointRegistry.Find:input_type -> registry.NetworkServiceEndpointQuery - 7, // 20: registry.NetworkServiceEndpointRegistry.Unregister:input_type -> registry.NetworkServiceEndpoint - 2, // 21: registry.NetworkServiceRegistry.Register:input_type -> registry.NetworkService - 8, // 22: registry.NetworkServiceRegistry.Find:input_type -> registry.NetworkServiceQuery - 2, // 23: registry.NetworkServiceRegistry.Unregister:input_type -> registry.NetworkService - 7, // 24: registry.NetworkServiceEndpointRegistry.Register:output_type -> registry.NetworkServiceEndpoint - 11, // 25: registry.NetworkServiceEndpointRegistry.Find:output_type -> registry.NetworkServiceEndpointResponse - 19, // 26: registry.NetworkServiceEndpointRegistry.Unregister:output_type -> google.protobuf.Empty - 2, // 27: registry.NetworkServiceRegistry.Register:output_type -> registry.NetworkService - 10, // 28: registry.NetworkServiceRegistry.Find:output_type -> registry.NetworkServiceResponse - 19, // 29: registry.NetworkServiceRegistry.Unregister:output_type -> google.protobuf.Empty - 24, // [24:30] is the sub-list for method output_type - 18, // [18:24] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name + 1, // 0: registry.NetworkService.matches:type_name -> registry.Match + 10, // 1: registry.Match.source_selector:type_name -> registry.Match.SourceSelectorEntry + 3, // 2: registry.Match.routes:type_name -> registry.Destination + 2, // 3: registry.Match.metadata:type_name -> registry.Metadata + 11, // 4: registry.Metadata.labels:type_name -> registry.Metadata.LabelsEntry + 12, // 5: registry.Destination.destination_selector:type_name -> registry.Destination.DestinationSelectorEntry + 13, // 6: registry.NetworkServiceLabels.labels:type_name -> registry.NetworkServiceLabels.LabelsEntry + 14, // 7: registry.NetworkServiceEndpoint.network_service_labels:type_name -> registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry + 15, // 8: registry.NetworkServiceEndpoint.expiration_time:type_name -> google.protobuf.Timestamp + 15, // 9: registry.NetworkServiceEndpoint.initial_registration_time:type_name -> google.protobuf.Timestamp + 0, // 10: registry.NetworkServiceQuery.network_service:type_name -> registry.NetworkService + 5, // 11: registry.NetworkServiceEndpointQuery.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint + 0, // 12: registry.NetworkServiceResponse.network_service:type_name -> registry.NetworkService + 5, // 13: registry.NetworkServiceEndpointResponse.network_service_endpoint:type_name -> registry.NetworkServiceEndpoint + 4, // 14: registry.NetworkServiceEndpoint.NetworkServiceLabelsEntry.value:type_name -> registry.NetworkServiceLabels + 5, // 15: registry.NetworkServiceEndpointRegistry.Register:input_type -> registry.NetworkServiceEndpoint + 7, // 16: registry.NetworkServiceEndpointRegistry.Find:input_type -> registry.NetworkServiceEndpointQuery + 5, // 17: registry.NetworkServiceEndpointRegistry.Unregister:input_type -> registry.NetworkServiceEndpoint + 0, // 18: registry.NetworkServiceRegistry.Register:input_type -> registry.NetworkService + 6, // 19: registry.NetworkServiceRegistry.Find:input_type -> registry.NetworkServiceQuery + 0, // 20: registry.NetworkServiceRegistry.Unregister:input_type -> registry.NetworkService + 5, // 21: registry.NetworkServiceEndpointRegistry.Register:output_type -> registry.NetworkServiceEndpoint + 9, // 22: registry.NetworkServiceEndpointRegistry.Find:output_type -> registry.NetworkServiceEndpointResponse + 16, // 23: registry.NetworkServiceEndpointRegistry.Unregister:output_type -> google.protobuf.Empty + 0, // 24: registry.NetworkServiceRegistry.Register:output_type -> registry.NetworkService + 8, // 25: registry.NetworkServiceRegistry.Find:output_type -> registry.NetworkServiceResponse + 16, // 26: registry.NetworkServiceRegistry.Unregister:output_type -> google.protobuf.Empty + 21, // [21:27] is the sub-list for method output_type + 15, // [15:21] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_registry_proto_init() } @@ -1036,30 +875,6 @@ func file_registry_proto_init() { } if !protoimpl.UnsafeEnabled { file_registry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PathSegment); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Path); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_registry_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkService); i { case 0: return &v.state @@ -1071,7 +886,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Match); i { case 0: return &v.state @@ -1083,7 +898,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Metadata); i { case 0: return &v.state @@ -1095,7 +910,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Destination); i { case 0: return &v.state @@ -1107,7 +922,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceLabels); i { case 0: return &v.state @@ -1119,7 +934,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceEndpoint); i { case 0: return &v.state @@ -1131,7 +946,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceQuery); i { case 0: return &v.state @@ -1143,7 +958,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceEndpointQuery); i { case 0: return &v.state @@ -1155,7 +970,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceResponse); i { case 0: return &v.state @@ -1167,7 +982,7 @@ func file_registry_proto_init() { return nil } } - file_registry_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_registry_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkServiceEndpointResponse); i { case 0: return &v.state @@ -1186,7 +1001,7 @@ func file_registry_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_registry_proto_rawDesc, NumEnums: 0, - NumMessages: 18, + NumMessages: 15, NumExtensions: 0, NumServices: 2, }, diff --git a/pkg/api/registry/registry.proto b/pkg/api/registry/registry.proto index 17b686d..ed6cb6e 100644 --- a/pkg/api/registry/registry.proto +++ b/pkg/api/registry/registry.proto @@ -6,18 +6,6 @@ option go_package = "github.com/networkservicemesh/api/pkg/api/registry"; import "google/protobuf/empty.proto"; import "google/protobuf/timestamp.proto"; -message PathSegment { - string name = 1; - string id = 2; - string token = 3; - google.protobuf.Timestamp expires = 4; - map metrics = 5; -} -message Path { - uint32 index = 1; - repeated PathSegment path_segments = 2; -} - message NetworkService { string name = 1; string payload = 2;