mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	DNS节点自动升级
This commit is contained in:
		@@ -1 +1,3 @@
 | 
			
		||||
每次 `.proto` 文件有更新的时候,请运行 `grpc.sh` 重新生成相应的源代码。
 | 
			
		||||
每次 `.proto` 文件有更新的时候,请运行 `grpc.sh` 重新生成相应的源代码。
 | 
			
		||||
 | 
			
		||||
如果文件名有更改,请清空 `pkg/rpc/pb/*.go` 文件,然后再次运行 `grpc.sh`。
 | 
			
		||||
							
								
								
									
										3
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								go.mod
									
									
									
									
									
								
							@@ -7,9 +7,6 @@ require (
 | 
			
		||||
	github.com/go-yaml/yaml v2.1.0+incompatible
 | 
			
		||||
	github.com/golang/protobuf v1.4.2
 | 
			
		||||
	github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060
 | 
			
		||||
	github.com/json-iterator/go v1.1.11 // indirect
 | 
			
		||||
	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
 | 
			
		||||
	github.com/modern-go/reflect2 v1.0.1 // indirect
 | 
			
		||||
	google.golang.org/grpc v1.32.0
 | 
			
		||||
	google.golang.org/protobuf v1.25.0
 | 
			
		||||
	gopkg.in/yaml.v2 v2.4.0 // indirect
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								go.sum
									
									
									
									
									
								
							@@ -44,23 +44,15 @@ github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
 | 
			
		||||
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 | 
			
		||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 | 
			
		||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 | 
			
		||||
github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f h1:r2O8PONj/KiuZjJHVHn7KlCePUIjNtgAmvLfgRafQ8o=
 | 
			
		||||
github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc=
 | 
			
		||||
github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060 h1:qdLtK4PDXxk2vMKkTWl5Fl9xqYuRCukzWAgJbLHdfOo=
 | 
			
		||||
github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc=
 | 
			
		||||
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 | 
			
		||||
github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ=
 | 
			
		||||
github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 | 
			
		||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 | 
			
		||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 | 
			
		||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 | 
			
		||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 | 
			
		||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 | 
			
		||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
 | 
			
		||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 | 
			
		||||
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
 | 
			
		||||
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
 | 
			
		||||
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
 | 
			
		||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
 | 
			
		||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
 | 
			
		||||
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
 | 
			
		||||
 
 | 
			
		||||
@@ -1234,6 +1234,149 @@ func (x *CheckNSNodeLatestVersionResponse) GetNewVersion() string {
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 下载最新DNS节点安装文件
 | 
			
		||||
type DownloadNSNodeInstallationFileRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Os          string `protobuf:"bytes,1,opt,name=os,proto3" json:"os,omitempty"`
 | 
			
		||||
	Arch        string `protobuf:"bytes,2,opt,name=arch,proto3" json:"arch,omitempty"`
 | 
			
		||||
	ChunkOffset int64  `protobuf:"varint,3,opt,name=chunkOffset,proto3" json:"chunkOffset,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileRequest) Reset() {
 | 
			
		||||
	*x = DownloadNSNodeInstallationFileRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ns_node_proto_msgTypes[23]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*DownloadNSNodeInstallationFileRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ns_node_proto_msgTypes[23]
 | 
			
		||||
	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 DownloadNSNodeInstallationFileRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*DownloadNSNodeInstallationFileRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ns_node_proto_rawDescGZIP(), []int{23}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileRequest) GetOs() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Os
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileRequest) GetArch() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Arch
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileRequest) GetChunkOffset() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ChunkOffset
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type DownloadNSNodeInstallationFileResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	ChunkData []byte `protobuf:"bytes,1,opt,name=chunkData,proto3" json:"chunkData,omitempty"`
 | 
			
		||||
	Sum       string `protobuf:"bytes,2,opt,name=sum,proto3" json:"sum,omitempty"` // 文件的md5sum
 | 
			
		||||
	Offset    int64  `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
 | 
			
		||||
	Version   string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
 | 
			
		||||
	Filename  string `protobuf:"bytes,5,opt,name=filename,proto3" json:"filename,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileResponse) Reset() {
 | 
			
		||||
	*x = DownloadNSNodeInstallationFileResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_ns_node_proto_msgTypes[24]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*DownloadNSNodeInstallationFileResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_ns_node_proto_msgTypes[24]
 | 
			
		||||
	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 DownloadNSNodeInstallationFileResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*DownloadNSNodeInstallationFileResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_ns_node_proto_rawDescGZIP(), []int{24}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileResponse) GetChunkData() []byte {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ChunkData
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileResponse) GetSum() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Sum
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileResponse) GetOffset() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Offset
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileResponse) GetVersion() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Version
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DownloadNSNodeInstallationFileResponse) GetFilename() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Filename
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_ns_node_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_ns_node_proto_rawDesc = []byte{
 | 
			
		||||
@@ -1363,91 +1506,116 @@ var file_service_ns_node_proto_rawDesc = []byte{
 | 
			
		||||
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x4e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
 | 
			
		||||
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x56, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x69, 0x6f, 0x6e, 0x32, 0xb0, 0x0a, 0x0a, 0x0d, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57,
 | 
			
		||||
	0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x69, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x25, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f,
 | 
			
		||||
	0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
 | 
			
		||||
	0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04,
 | 
			
		||||
	0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x63, 0x68,
 | 
			
		||||
	0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18,
 | 
			
		||||
	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4f, 0x66, 0x66, 0x73,
 | 
			
		||||
	0x65, 0x74, 0x22, 0xa6, 0x01, 0x0a, 0x26, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f,
 | 
			
		||||
	0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a,
 | 
			
		||||
	0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
 | 
			
		||||
	0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x73,
 | 
			
		||||
	0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x6d, 0x12, 0x16, 0x0a,
 | 
			
		||||
	0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f,
 | 
			
		||||
	0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
 | 
			
		||||
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
 | 
			
		||||
	0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xa9, 0x0b, 0x0a, 0x0d,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x89, 0x01,
 | 
			
		||||
	0x0a, 0x24, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
 | 
			
		||||
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b,
 | 
			
		||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61,
 | 
			
		||||
	0x74, 0x63, 0x68, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d,
 | 
			
		||||
	0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x25, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c,
 | 
			
		||||
	0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57,
 | 
			
		||||
	0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72,
 | 
			
		||||
	0x61, 0x64, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53,
 | 
			
		||||
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c,
 | 
			
		||||
	0x65, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44,
 | 
			
		||||
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x44, 0x0a,
 | 
			
		||||
	0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e,
 | 
			
		||||
	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e,
 | 
			
		||||
	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
 | 
			
		||||
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74,
 | 
			
		||||
	0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x62, 0x0a, 0x17, 0x66,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e,
 | 
			
		||||
	0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x65, 0x0a, 0x18, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06,
 | 
			
		||||
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x6c, 0x69, 0x73,
 | 
			
		||||
	0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d,
 | 
			
		||||
	0x61, 0x74, 0x63, 0x68, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4d, 0x61, 0x74, 0x63,
 | 
			
		||||
	0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69,
 | 
			
		||||
	0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73,
 | 
			
		||||
	0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a,
 | 
			
		||||
	0x25, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75,
 | 
			
		||||
	0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
 | 
			
		||||
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50,
 | 
			
		||||
	0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41,
 | 
			
		||||
	0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x37, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12,
 | 
			
		||||
	0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c,
 | 
			
		||||
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74,
 | 
			
		||||
	0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4e, 0x53, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
 | 
			
		||||
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61,
 | 
			
		||||
	0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c,
 | 
			
		||||
	0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x4d, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49,
 | 
			
		||||
	0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x22, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x49, 0x6e,
 | 
			
		||||
	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43,
 | 
			
		||||
	0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74,
 | 
			
		||||
	0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65,
 | 
			
		||||
	0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e,
 | 
			
		||||
	0x53, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72,
 | 
			
		||||
	0x65, 0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x63, 0x68, 0x65, 0x63, 0x6b,
 | 
			
		||||
	0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73,
 | 
			
		||||
	0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x53,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
 | 
			
		||||
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68,
 | 
			
		||||
	0x65, 0x63, 0x6b, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56,
 | 
			
		||||
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77,
 | 
			
		||||
	0x0a, 0x1e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65,
 | 
			
		||||
	0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x53,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
 | 
			
		||||
	0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x49,
 | 
			
		||||
	0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
 | 
			
		||||
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
@@ -1462,7 +1630,7 @@ func file_service_ns_node_proto_rawDescGZIP() []byte {
 | 
			
		||||
	return file_service_ns_node_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_ns_node_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
 | 
			
		||||
var file_service_ns_node_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
 | 
			
		||||
var file_service_ns_node_proto_goTypes = []interface{}{
 | 
			
		||||
	(*FindAllEnabledNSNodesWithNSClusterIdRequest)(nil),  // 0: pb.FindAllEnabledNSNodesWithNSClusterIdRequest
 | 
			
		||||
	(*FindAllEnabledNSNodesWithNSClusterIdResponse)(nil), // 1: pb.FindAllEnabledNSNodesWithNSClusterIdResponse
 | 
			
		||||
@@ -1487,16 +1655,18 @@ var file_service_ns_node_proto_goTypes = []interface{}{
 | 
			
		||||
	(*FindCurrentNSNodeConfigResponse)(nil),              // 20: pb.FindCurrentNSNodeConfigResponse
 | 
			
		||||
	(*CheckNSNodeLatestVersionRequest)(nil),              // 21: pb.CheckNSNodeLatestVersionRequest
 | 
			
		||||
	(*CheckNSNodeLatestVersionResponse)(nil),             // 22: pb.CheckNSNodeLatestVersionResponse
 | 
			
		||||
	(*NSNode)(nil),                                       // 23: pb.NSNode
 | 
			
		||||
	(*NodeInstallStatus)(nil),                            // 24: pb.NodeInstallStatus
 | 
			
		||||
	(*RPCCountResponse)(nil),                             // 25: pb.RPCCountResponse
 | 
			
		||||
	(*RPCSuccess)(nil),                                   // 26: pb.RPCSuccess
 | 
			
		||||
	(*DownloadNSNodeInstallationFileRequest)(nil),        // 23: pb.DownloadNSNodeInstallationFileRequest
 | 
			
		||||
	(*DownloadNSNodeInstallationFileResponse)(nil),       // 24: pb.DownloadNSNodeInstallationFileResponse
 | 
			
		||||
	(*NSNode)(nil),            // 25: pb.NSNode
 | 
			
		||||
	(*NodeInstallStatus)(nil), // 26: pb.NodeInstallStatus
 | 
			
		||||
	(*RPCCountResponse)(nil),  // 27: pb.RPCCountResponse
 | 
			
		||||
	(*RPCSuccess)(nil),        // 28: pb.RPCSuccess
 | 
			
		||||
}
 | 
			
		||||
var file_service_ns_node_proto_depIdxs = []int32{
 | 
			
		||||
	23, // 0: pb.FindAllEnabledNSNodesWithNSClusterIdResponse.nsNodes:type_name -> pb.NSNode
 | 
			
		||||
	23, // 1: pb.ListEnabledNSNodesMatchResponse.nsNodes:type_name -> pb.NSNode
 | 
			
		||||
	23, // 2: pb.FindEnabledNSNodeResponse.nsNode:type_name -> pb.NSNode
 | 
			
		||||
	24, // 3: pb.FindNSNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus
 | 
			
		||||
	25, // 0: pb.FindAllEnabledNSNodesWithNSClusterIdResponse.nsNodes:type_name -> pb.NSNode
 | 
			
		||||
	25, // 1: pb.ListEnabledNSNodesMatchResponse.nsNodes:type_name -> pb.NSNode
 | 
			
		||||
	25, // 2: pb.FindEnabledNSNodeResponse.nsNode:type_name -> pb.NSNode
 | 
			
		||||
	26, // 3: pb.FindNSNodeInstallStatusResponse.installStatus:type_name -> pb.NodeInstallStatus
 | 
			
		||||
	0,  // 4: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:input_type -> pb.FindAllEnabledNSNodesWithNSClusterIdRequest
 | 
			
		||||
	2,  // 5: pb.NSNodeService.countAllEnabledNSNodes:input_type -> pb.CountAllEnabledNSNodesRequest
 | 
			
		||||
	3,  // 6: pb.NSNodeService.countAllEnabledNSNodesMatch:input_type -> pb.CountAllEnabledNSNodesMatchRequest
 | 
			
		||||
@@ -1512,23 +1682,25 @@ var file_service_ns_node_proto_depIdxs = []int32{
 | 
			
		||||
	18, // 16: pb.NSNodeService.updateNSNodeStatus:input_type -> pb.UpdateNSNodeStatusRequest
 | 
			
		||||
	19, // 17: pb.NSNodeService.findCurrentNSNodeConfig:input_type -> pb.FindCurrentNSNodeConfigRequest
 | 
			
		||||
	21, // 18: pb.NSNodeService.checkNSNodeLatestVersion:input_type -> pb.CheckNSNodeLatestVersionRequest
 | 
			
		||||
	1,  // 19: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:output_type -> pb.FindAllEnabledNSNodesWithNSClusterIdResponse
 | 
			
		||||
	25, // 20: pb.NSNodeService.countAllEnabledNSNodes:output_type -> pb.RPCCountResponse
 | 
			
		||||
	25, // 21: pb.NSNodeService.countAllEnabledNSNodesMatch:output_type -> pb.RPCCountResponse
 | 
			
		||||
	5,  // 22: pb.NSNodeService.listEnabledNSNodesMatch:output_type -> pb.ListEnabledNSNodesMatchResponse
 | 
			
		||||
	25, // 23: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	8,  // 24: pb.NSNodeService.createNSNode:output_type -> pb.CreateNSNodeResponse
 | 
			
		||||
	26, // 25: pb.NSNodeService.deleteNSNode:output_type -> pb.RPCSuccess
 | 
			
		||||
	11, // 26: pb.NSNodeService.findEnabledNSNode:output_type -> pb.FindEnabledNSNodeResponse
 | 
			
		||||
	26, // 27: pb.NSNodeService.updateNSNode:output_type -> pb.RPCSuccess
 | 
			
		||||
	14, // 28: pb.NSNodeService.installNSNode:output_type -> pb.InstallNSNodeResponse
 | 
			
		||||
	16, // 29: pb.NSNodeService.findNSNodeInstallStatus:output_type -> pb.FindNSNodeInstallStatusResponse
 | 
			
		||||
	26, // 30: pb.NSNodeService.updateNSNodeIsInstalled:output_type -> pb.RPCSuccess
 | 
			
		||||
	26, // 31: pb.NSNodeService.updateNSNodeStatus:output_type -> pb.RPCSuccess
 | 
			
		||||
	20, // 32: pb.NSNodeService.findCurrentNSNodeConfig:output_type -> pb.FindCurrentNSNodeConfigResponse
 | 
			
		||||
	22, // 33: pb.NSNodeService.checkNSNodeLatestVersion:output_type -> pb.CheckNSNodeLatestVersionResponse
 | 
			
		||||
	19, // [19:34] is the sub-list for method output_type
 | 
			
		||||
	4,  // [4:19] is the sub-list for method input_type
 | 
			
		||||
	23, // 19: pb.NSNodeService.downloadNSNodeInstallationFile:input_type -> pb.DownloadNSNodeInstallationFileRequest
 | 
			
		||||
	1,  // 20: pb.NSNodeService.findAllEnabledNSNodesWithNSClusterId:output_type -> pb.FindAllEnabledNSNodesWithNSClusterIdResponse
 | 
			
		||||
	27, // 21: pb.NSNodeService.countAllEnabledNSNodes:output_type -> pb.RPCCountResponse
 | 
			
		||||
	27, // 22: pb.NSNodeService.countAllEnabledNSNodesMatch:output_type -> pb.RPCCountResponse
 | 
			
		||||
	5,  // 23: pb.NSNodeService.listEnabledNSNodesMatch:output_type -> pb.ListEnabledNSNodesMatchResponse
 | 
			
		||||
	27, // 24: pb.NSNodeService.countAllUpgradeNSNodesWithNSClusterId:output_type -> pb.RPCCountResponse
 | 
			
		||||
	8,  // 25: pb.NSNodeService.createNSNode:output_type -> pb.CreateNSNodeResponse
 | 
			
		||||
	28, // 26: pb.NSNodeService.deleteNSNode:output_type -> pb.RPCSuccess
 | 
			
		||||
	11, // 27: pb.NSNodeService.findEnabledNSNode:output_type -> pb.FindEnabledNSNodeResponse
 | 
			
		||||
	28, // 28: pb.NSNodeService.updateNSNode:output_type -> pb.RPCSuccess
 | 
			
		||||
	14, // 29: pb.NSNodeService.installNSNode:output_type -> pb.InstallNSNodeResponse
 | 
			
		||||
	16, // 30: pb.NSNodeService.findNSNodeInstallStatus:output_type -> pb.FindNSNodeInstallStatusResponse
 | 
			
		||||
	28, // 31: pb.NSNodeService.updateNSNodeIsInstalled:output_type -> pb.RPCSuccess
 | 
			
		||||
	28, // 32: pb.NSNodeService.updateNSNodeStatus:output_type -> pb.RPCSuccess
 | 
			
		||||
	20, // 33: pb.NSNodeService.findCurrentNSNodeConfig:output_type -> pb.FindCurrentNSNodeConfigResponse
 | 
			
		||||
	22, // 34: pb.NSNodeService.checkNSNodeLatestVersion:output_type -> pb.CheckNSNodeLatestVersionResponse
 | 
			
		||||
	24, // 35: pb.NSNodeService.downloadNSNodeInstallationFile:output_type -> pb.DownloadNSNodeInstallationFileResponse
 | 
			
		||||
	20, // [20:36] is the sub-list for method output_type
 | 
			
		||||
	4,  // [4:20] is the sub-list for method input_type
 | 
			
		||||
	4,  // [4:4] is the sub-list for extension type_name
 | 
			
		||||
	4,  // [4:4] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:4] is the sub-list for field type_name
 | 
			
		||||
@@ -1819,6 +1991,30 @@ func file_service_ns_node_proto_init() {
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ns_node_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*DownloadNSNodeInstallationFileRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_ns_node_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*DownloadNSNodeInstallationFileResponse); 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{
 | 
			
		||||
@@ -1826,7 +2022,7 @@ func file_service_ns_node_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_ns_node_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   23,
 | 
			
		||||
			NumMessages:   25,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
@@ -1882,6 +2078,8 @@ type NSNodeServiceClient interface {
 | 
			
		||||
	FindCurrentNSNodeConfig(ctx context.Context, in *FindCurrentNSNodeConfigRequest, opts ...grpc.CallOption) (*FindCurrentNSNodeConfigResponse, error)
 | 
			
		||||
	// 检查新版本
 | 
			
		||||
	CheckNSNodeLatestVersion(ctx context.Context, in *CheckNSNodeLatestVersionRequest, opts ...grpc.CallOption) (*CheckNSNodeLatestVersionResponse, error)
 | 
			
		||||
	// 下载最新DNS节点安装文件
 | 
			
		||||
	DownloadNSNodeInstallationFile(ctx context.Context, in *DownloadNSNodeInstallationFileRequest, opts ...grpc.CallOption) (*DownloadNSNodeInstallationFileResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type nSNodeServiceClient struct {
 | 
			
		||||
@@ -2027,6 +2225,15 @@ func (c *nSNodeServiceClient) CheckNSNodeLatestVersion(ctx context.Context, in *
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *nSNodeServiceClient) DownloadNSNodeInstallationFile(ctx context.Context, in *DownloadNSNodeInstallationFileRequest, opts ...grpc.CallOption) (*DownloadNSNodeInstallationFileResponse, error) {
 | 
			
		||||
	out := new(DownloadNSNodeInstallationFileResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.NSNodeService/downloadNSNodeInstallationFile", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NSNodeServiceServer is the server API for NSNodeService service.
 | 
			
		||||
type NSNodeServiceServer interface {
 | 
			
		||||
	// 根据集群查找所有节点
 | 
			
		||||
@@ -2059,6 +2266,8 @@ type NSNodeServiceServer interface {
 | 
			
		||||
	FindCurrentNSNodeConfig(context.Context, *FindCurrentNSNodeConfigRequest) (*FindCurrentNSNodeConfigResponse, error)
 | 
			
		||||
	// 检查新版本
 | 
			
		||||
	CheckNSNodeLatestVersion(context.Context, *CheckNSNodeLatestVersionRequest) (*CheckNSNodeLatestVersionResponse, error)
 | 
			
		||||
	// 下载最新DNS节点安装文件
 | 
			
		||||
	DownloadNSNodeInstallationFile(context.Context, *DownloadNSNodeInstallationFileRequest) (*DownloadNSNodeInstallationFileResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedNSNodeServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
@@ -2110,6 +2319,9 @@ func (*UnimplementedNSNodeServiceServer) FindCurrentNSNodeConfig(context.Context
 | 
			
		||||
func (*UnimplementedNSNodeServiceServer) CheckNSNodeLatestVersion(context.Context, *CheckNSNodeLatestVersionRequest) (*CheckNSNodeLatestVersionResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method CheckNSNodeLatestVersion not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedNSNodeServiceServer) DownloadNSNodeInstallationFile(context.Context, *DownloadNSNodeInstallationFileRequest) (*DownloadNSNodeInstallationFileResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method DownloadNSNodeInstallationFile not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterNSNodeServiceServer(s *grpc.Server, srv NSNodeServiceServer) {
 | 
			
		||||
	s.RegisterService(&_NSNodeService_serviceDesc, srv)
 | 
			
		||||
@@ -2385,6 +2597,24 @@ func _NSNodeService_CheckNSNodeLatestVersion_Handler(srv interface{}, ctx contex
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _NSNodeService_DownloadNSNodeInstallationFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(DownloadNSNodeInstallationFileRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(NSNodeServiceServer).DownloadNSNodeInstallationFile(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.NSNodeService/DownloadNSNodeInstallationFile",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(NSNodeServiceServer).DownloadNSNodeInstallationFile(ctx, req.(*DownloadNSNodeInstallationFileRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _NSNodeService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.NSNodeService",
 | 
			
		||||
	HandlerType: (*NSNodeServiceServer)(nil),
 | 
			
		||||
@@ -2449,6 +2679,10 @@ var _NSNodeService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
			MethodName: "checkNSNodeLatestVersion",
 | 
			
		||||
			Handler:    _NSNodeService_CheckNSNodeLatestVersion_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "downloadNSNodeInstallationFile",
 | 
			
		||||
			Handler:    _NSNodeService_DownloadNSNodeInstallationFile_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_ns_node.proto",
 | 
			
		||||
 
 | 
			
		||||
@@ -53,6 +53,9 @@ service NSNodeService {
 | 
			
		||||
 | 
			
		||||
	// 检查新版本
 | 
			
		||||
	rpc checkNSNodeLatestVersion (CheckNSNodeLatestVersionRequest) returns (CheckNSNodeLatestVersionResponse);
 | 
			
		||||
 | 
			
		||||
	// 下载最新DNS节点安装文件
 | 
			
		||||
	rpc downloadNSNodeInstallationFile (DownloadNSNodeInstallationFileRequest) returns (DownloadNSNodeInstallationFileResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据集群查找所有节点
 | 
			
		||||
@@ -181,4 +184,19 @@ message CheckNSNodeLatestVersionRequest {
 | 
			
		||||
message CheckNSNodeLatestVersionResponse {
 | 
			
		||||
	bool hasNewVersion = 1;
 | 
			
		||||
	string newVersion = 2;
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 下载最新DNS节点安装文件
 | 
			
		||||
message DownloadNSNodeInstallationFileRequest {
 | 
			
		||||
	string os = 1;
 | 
			
		||||
	string arch = 2;
 | 
			
		||||
	int64 chunkOffset = 3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message DownloadNSNodeInstallationFileResponse {
 | 
			
		||||
	bytes chunkData = 1;
 | 
			
		||||
	string sum = 2; // 文件的md5sum
 | 
			
		||||
	int64 offset = 3;
 | 
			
		||||
	string version = 4;
 | 
			
		||||
	string filename = 5;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user