From e46007e63183e782262068dd88c7507bf4a66479 Mon Sep 17 00:00:00 2001 From: Ulf Bjorkengren Date: Wed, 27 Nov 2024 12:01:50 +0100 Subject: [PATCH] Refactored to use one proto file. Signed-off-by: Ulf Bjorkengren --- .../compress_client/compress_client.go | 16 +- client/client-1.0/csv_client/csv_client.go | 16 +- client/client-1.0/grpc_client/grpc_client.go | 23 +- .../grpc_map_client/grpc_client.go | 23 +- go.modtmp | 52 - grpc_pb/README.md | 4 +- grpc_pb/VISSv3.0.pb.go | 3234 +++++++++++++++++ grpc_pb/{VISSv3.proto => VISSv3.0.proto} | 90 +- grpc_pb/VISSv3.0_grpc.pb.go | 241 ++ grpc_pb/VISSv3.pb.go | 2648 -------------- grpc_pb/VISSv3_grpc.pb.go | 241 -- protobuf/README.md | 20 - protobuf/VISSv3messages.proto | 209 -- protobuf/protoc-out/VISSv3messages.pb.go | 3053 ---------------- server/vissv2server/grpcMgr/grpcMgr.go | 22 +- utils/README.md | 89 - utils/grcputils.go | 100 +- utils/managerhandlers.go | 4 +- utils/pbutils.go | 892 +---- 19 files changed, 3689 insertions(+), 7288 deletions(-) delete mode 100644 go.modtmp create mode 100644 grpc_pb/VISSv3.0.pb.go rename grpc_pb/{VISSv3.proto => VISSv3.0.proto} (72%) create mode 100644 grpc_pb/VISSv3.0_grpc.pb.go delete mode 100644 grpc_pb/VISSv3.pb.go delete mode 100644 grpc_pb/VISSv3_grpc.pb.go delete mode 100644 protobuf/README.md delete mode 100644 protobuf/VISSv3messages.proto delete mode 100644 protobuf/protoc-out/VISSv3messages.pb.go delete mode 100644 utils/README.md diff --git a/client/client-1.0/compress_client/compress_client.go b/client/client-1.0/compress_client/compress_client.go index 97d9f2e1..778a783c 100644 --- a/client/client-1.0/compress_client/compress_client.go +++ b/client/client-1.0/compress_client/compress_client.go @@ -146,11 +146,11 @@ func performCommand(commandNumber int, conn *websocket.Conn, optionChannel chan } func performPbCommand(commandNumber int, conn *websocket.Conn, optionChannel chan string) { - compressedRequest := utils.JsonToProtobuf(requestList.Request[commandNumber], convertToCompression(compression)) + compressedRequest := utils.JsonToProtobuf(requestList.Request[commandNumber]) fmt.Printf("JSON request size= %d, Protobuf request size=%d\n", len(requestList.Request[commandNumber]), len(compressedRequest)) fmt.Printf("Compression= %d%\n", (100*len(requestList.Request[commandNumber]))/len(compressedRequest)) compressedResponse := getResponse(conn, compressedRequest) - jsonResponse := utils.ProtobufToJson(compressedResponse, convertToCompression(compression)) + jsonResponse := utils.ProtobufToJson(compressedResponse) fmt.Printf("Response: %s\n", jsonResponse) fmt.Printf("JSON response size= %d, Protobuf response size=%d\n", len(jsonResponse), len(compressedResponse)) fmt.Printf("Compression= %d%\n", (100*len(jsonResponse))/len(compressedResponse)) @@ -161,7 +161,7 @@ func performPbCommand(commandNumber int, conn *websocket.Conn, optionChannel cha fmt.Printf("Notification error: %s\n", err) return } - jsonNotification := utils.ProtobufToJson(msg, convertToCompression(compression)) + jsonNotification := utils.ProtobufToJson(msg) fmt.Printf("Notification: %s\n", jsonNotification) fmt.Printf("JSON notification size= %d, Protobuf notification size=%d\n", len(jsonNotification), len(msg)) fmt.Printf("Compression= %d%\n", (100*len(jsonNotification))/len(msg)) @@ -170,7 +170,7 @@ func performPbCommand(commandNumber int, conn *websocket.Conn, optionChannel cha // issue unsubscribe request subscriptionId := utils.ExtractSubscriptionId(jsonResponse) unsubReq := `{"action":"unsubscribe", "subscriptionId":"` + subscriptionId + `"}` - pbUnsubReq := utils.JsonToProtobuf(unsubReq, convertToCompression(compression)) + pbUnsubReq := utils.JsonToProtobuf(unsubReq) getResponse(conn, pbUnsubReq) return default: @@ -179,14 +179,6 @@ func performPbCommand(commandNumber int, conn *websocket.Conn, optionChannel cha } } -func convertToCompression(encoding string) utils.Encoding { - switch encoding { - case "proto": - return utils.PROTOBUF - } - return utils.NONE -} - func displayOptions() { fmt.Printf("\n\nSelect one of the following numbers:\n") fmt.Printf("0: Exit program\n") diff --git a/client/client-1.0/csv_client/csv_client.go b/client/client-1.0/csv_client/csv_client.go index c03553e7..768fc739 100644 --- a/client/client-1.0/csv_client/csv_client.go +++ b/client/client-1.0/csv_client/csv_client.go @@ -294,11 +294,11 @@ func saveInCsv(valArray []string, tsArray []string, arrayIndex int) { } func performPbCommand(commandNumber int, conn *websocket.Conn, optionChannel chan string) { - compressedRequest := utils.JsonToProtobuf(requestList.Request[commandNumber], convertToCompression(compression)) + compressedRequest := utils.JsonToProtobuf(requestList.Request[commandNumber]) fmt.Printf("JSON request size= %d, Protobuf request size=%d\n", len(requestList.Request[commandNumber]), len(compressedRequest)) fmt.Printf("Compression= %d%\n", (100*len(requestList.Request[commandNumber]))/len(compressedRequest)) compressedResponse := getResponse(conn, compressedRequest) - jsonResponse := utils.ProtobufToJson(compressedResponse, convertToCompression(compression)) + jsonResponse := utils.ProtobufToJson(compressedResponse) fmt.Printf("Response: %s\n", jsonResponse) fmt.Printf("JSON response size= %d, Protobuf response size=%d\n", len(jsonResponse), len(compressedResponse)) fmt.Printf("Compression= %d%\n", (100*len(jsonResponse))/len(compressedResponse)) @@ -309,7 +309,7 @@ func performPbCommand(commandNumber int, conn *websocket.Conn, optionChannel cha fmt.Printf("Notification error: %s\n", err) return } - jsonNotification := utils.ProtobufToJson(msg, convertToCompression(compression)) + jsonNotification := utils.ProtobufToJson(msg) fmt.Printf("Notification: %s\n", jsonNotification) fmt.Printf("JSON notification size= %d, Protobuf notification size=%d\n", len(jsonNotification), len(msg)) fmt.Printf("Compression= %d%\n", (100*len(jsonNotification))/len(msg)) @@ -318,7 +318,7 @@ func performPbCommand(commandNumber int, conn *websocket.Conn, optionChannel cha // issue unsubscribe request subscriptionId := utils.ExtractSubscriptionId(jsonResponse) unsubReq := `{"action":"unsubscribe", "subscriptionId":"` + subscriptionId + `"}` - pbUnsubReq := utils.JsonToProtobuf(unsubReq, convertToCompression(compression)) + pbUnsubReq := utils.JsonToProtobuf(unsubReq) getResponse(conn, pbUnsubReq) return default: @@ -327,14 +327,6 @@ func performPbCommand(commandNumber int, conn *websocket.Conn, optionChannel cha } } -func convertToCompression(compression string) utils.Encoding { - switch compression { - case "proto": - return utils.PROTOBUF - } - return utils.NONE -} - func displayOptions() { fmt.Printf("\n\nSelect one of the following numbers:\n") fmt.Printf("0: Exit program\n") diff --git a/client/client-1.0/grpc_client/grpc_client.go b/client/client-1.0/grpc_client/grpc_client.go index da45f9bf..39a0c9c9 100644 --- a/client/client-1.0/grpc_client/grpc_client.go +++ b/client/client-1.0/grpc_client/grpc_client.go @@ -34,8 +34,6 @@ const ( name = "VISSv2-gRPC-client" ) -var grpcEncoding utils.Encoding - var commandList []string func initCommandList() { @@ -82,7 +80,7 @@ func noStreamCall(commandIndex int) { return } defer conn.Close() - client := pb.NewVISSv2Client(conn) + client := pb.NewVISSClient(conn) ctx, cancel := context.WithTimeout(context.Background(), time.Second) defer cancel() @@ -90,24 +88,24 @@ func noStreamCall(commandIndex int) { var vssResponse string switch commandIndex % 10 { case 0: //get - pbRequest := utils.GetRequestJsonToPb(vssRequest, grpcEncoding) + pbRequest := utils.GetRequestJsonToPb(vssRequest) pbResponse, err := client.GetRequest(ctx, pbRequest) if err != nil { log.Fatal(err) return } - vssResponse = utils.GetResponsePbToJson(pbResponse, grpcEncoding) + vssResponse = utils.GetResponsePbToJson(pbResponse) case 1: // set - pbRequest := utils.SetRequestJsonToPb(vssRequest, grpcEncoding) + pbRequest := utils.SetRequestJsonToPb(vssRequest) pbResponse, _ := client.SetRequest(ctx, pbRequest) - vssResponse = utils.SetResponsePbToJson(pbResponse, grpcEncoding) + vssResponse = utils.SetResponsePbToJson(pbResponse) case 3: //unsubscribe subIdIndex := strings.Index(vssRequest, "X") vssRequest = vssRequest[:subIdIndex] + strconv.Itoa(commandIndex/10) + vssRequest[subIdIndex+1:] fmt.Printf("Unsubscribe request=:%s\n", vssRequest) - pbRequest := utils.UnsubscribeRequestJsonToPb(vssRequest, grpcEncoding) + pbRequest := utils.UnsubscribeRequestJsonToPb(vssRequest) pbResponse, _ := client.UnsubscribeRequest(ctx, pbRequest) - vssResponse = utils.UnsubscribeResponsePbToJson(pbResponse, grpcEncoding) + vssResponse = utils.UnsubscribeResponsePbToJson(pbResponse) } if err != nil { fmt.Printf("Error when issuing request=:%s\n", vssRequest) @@ -135,12 +133,12 @@ func streamCall(commandIndex int) { return } defer conn.Close() - client := pb.NewVISSv2Client(conn) + client := pb.NewVISSClient(conn) ctx, cancel := context.WithCancel(context.Background()) defer cancel() vssRequest := commandList[commandIndex] - pbRequest := utils.SubscribeRequestJsonToPb(vssRequest, grpcEncoding) + pbRequest := utils.SubscribeRequestJsonToPb(vssRequest) stream, err := client.SubscribeRequest(ctx, pbRequest) for { pbResponse, err := stream.Recv() @@ -148,7 +146,7 @@ func streamCall(commandIndex int) { fmt.Printf("Error=%v when issuing request=:%s", err, vssRequest) break } - vssResponse := utils.SubscribeStreamPbToJson(pbResponse, grpcEncoding) + vssResponse := utils.SubscribeStreamPbToJson(pbResponse) fmt.Printf("Received response:%s\n", vssResponse) } } @@ -171,7 +169,6 @@ func main() { } utils.InitLog("grpc_client-log.txt", "./logs", *logFile, *logLevel) - grpcEncoding = utils.PROTOBUF readTransportSecConfig() utils.Info.Printf("secConfig.TransportSec=%s", secConfig.TransportSec) if secConfig.TransportSec == "yes" { diff --git a/client/client-1.0/grpc_client/grpc_map_client/grpc_client.go b/client/client-1.0/grpc_client/grpc_map_client/grpc_client.go index 2a0d95f8..e293bede 100644 --- a/client/client-1.0/grpc_client/grpc_map_client/grpc_client.go +++ b/client/client-1.0/grpc_client/grpc_map_client/grpc_client.go @@ -34,8 +34,6 @@ const ( name = "VISSv2-gRPC-client" ) -var grpcCompression utils.Compression - var commandList []string func initCommandList() { @@ -77,28 +75,28 @@ func noStreamCall(commandIndex int) { return } defer conn.Close() - client := pb.NewVISSv2Client(conn) + client := pb.NewVISSClient(conn) ctx, cancel := context.WithTimeout(context.Background(), time.Second) defer cancel() vssRequest := commandList[commandIndex] var vssResponse string if commandIndex == 0 { - pbRequest := utils.GetRequestJsonToPb(vssRequest, grpcCompression) + pbRequest := utils.GetRequestJsonToPb(vssRequest) pbResponse, err := client.GetRequest(ctx, pbRequest) if err != nil { log.Fatal(err) return } - vssResponse = utils.GetResponsePbToJson(pbResponse, grpcCompression) + vssResponse = utils.GetResponsePbToJson(pbResponse) } else if commandIndex == 2 { - pbRequest := utils.UnsubscribeRequestJsonToPb(vssRequest, grpcCompression) + pbRequest := utils.UnsubscribeRequestJsonToPb(vssRequest) pbResponse, _ := client.UnsubscribeRequest(ctx, pbRequest) - vssResponse = utils.UnsubscribeResponsePbToJson(pbResponse, grpcCompression) + vssResponse = utils.UnsubscribeResponsePbToJson(pbResponse) } else { - pbRequest := utils.SetRequestJsonToPb(vssRequest, grpcCompression) + pbRequest := utils.SetRequestJsonToPb(vssRequest) pbResponse, _ := client.SetRequest(ctx, pbRequest) - vssResponse = utils.SetResponsePbToJson(pbResponse, grpcCompression) + vssResponse = utils.SetResponsePbToJson(pbResponse) } if err != nil { fmt.Printf("Error when issuing request=:%s", vssRequest) @@ -126,16 +124,16 @@ func streamCall(commandIndex int) { return } defer conn.Close() - client := pb.NewVISSv2Client(conn) + client := pb.NewVISSClient(conn) ctx, cancel := context.WithCancel(context.Background()) defer cancel() vssRequest := commandList[commandIndex] - pbRequest := utils.SubscribeRequestJsonToPb(vssRequest, grpcCompression) + pbRequest := utils.SubscribeRequestJsonToPb(vssRequest) stream, err := client.SubscribeRequest(ctx, pbRequest) for { pbResponse, err := stream.Recv() - vssResponse := utils.SubscribeStreamPbToJson(pbResponse, grpcCompression) + vssResponse := utils.SubscribeStreamPbToJson(pbResponse) if err != nil { fmt.Printf("Error=%v when issuing request=:%s", err, vssRequest) } else { @@ -163,7 +161,6 @@ func main() { } utils.InitLog("grpc_client-log.txt", "./logs", *logFile, *logLevel) - grpcCompression = utils.PROTOBUF readTransportSecConfig() utils.Info.Printf("secConfig.TransportSec=%s", secConfig.TransportSec) if secConfig.TransportSec == "yes" { diff --git a/go.modtmp b/go.modtmp deleted file mode 100644 index b71c1366..00000000 --- a/go.modtmp +++ /dev/null @@ -1,52 +0,0 @@ -module github.com/covesa/vissr - -go 1.22.1 - -//example on how to use replace to point to fork or local path -//replace github.com/covesa/vissr/utils => github.com/MagnusGun/WAII/utils master -replace github.com/covesa/vissr/utils => ./utils - -replace ( - // github.com/COVESA/vss-tools/binary/go_parser/datamodel => github.com/UlfBj/vss-tools/binary/go_parser/datamodel v0.0.0-20231219145220-847ed46699dc - // github.com/COVESA/vss-tools/binary/go_parser/parserlib => github.com/UlfBj/vss-tools/binary/go_parser/parserlib v0.0.0-20231219145220-847ed46699dc - github.com/covesa/vissr/grpc_pb => ./grpc_pb - github.com/covesa/vissr/server/vissv2server/atServer => ./server/vissv2server/atServer - github.com/covesa/vissr/server/vissv2server/grpcMgr => ./server/vissv2server/grpcMgr - github.com/covesa/vissr/server/vissv2server/httpMgr => ./server/vissv2server/httpMgr - github.com/covesa/vissr/server/vissv2server/mqttMgr => ./server/vissv2server/mqttMgr - github.com/covesa/vissr/server/vissv2server/serviceMgr => ./server/vissv2server/serviceMgr - github.com/covesa/vissr/server/vissv2server/wsMgr => ./server/vissv2server/wsMgr -) - -//replace github.com/covesa/vissr/protobuf/protoc-out => ./protobuf/protoc-out - -require ( - github.com/COVESA/vss-tools/binary/go_parser/datamodel v0.0.0-20231222140420-5343e9c0884d - github.com/COVESA/vss-tools/binary/go_parser/parserlib v0.0.0-20231222140420-5343e9c0884d - github.com/akamensky/argparse v1.4.0 - github.com/apache/iotdb-client-go v1.1.7 - github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 - github.com/eclipse/paho.mqtt.golang v1.4.3 - github.com/go-redis/redis v6.15.9+incompatible - github.com/go-redis/redis/v8 v8.11.5 - github.com/golang/protobuf v1.5.3 - github.com/google/uuid v1.5.0 - github.com/gorilla/mux v1.8.1 - github.com/gorilla/websocket v1.5.1 - github.com/mattn/go-sqlite3 v1.14.19 - github.com/petervolvowinz/viss-rl-interfaces v0.1.0 - github.com/sirupsen/logrus v1.9.3 - google.golang.org/grpc v1.60.1 - google.golang.org/protobuf v1.31.0 -) - -require ( - github.com/apache/thrift v0.15.0 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect - golang.org/x/net v0.19.0 // indirect - golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.15.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231212172506-995d672761c0 // indirect -) diff --git a/grpc_pb/README.md b/grpc_pb/README.md index 727a7026..91b84d6f 100644 --- a/grpc_pb/README.md +++ b/grpc_pb/README.md @@ -6,6 +6,4 @@ The gRPC implementation is payload compatible with the Websocket and MQTT implem The following command builds the VISSv3.proto file: -protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative VISSv3.proto - - +protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative VISSv3.0.proto diff --git a/grpc_pb/VISSv3.0.pb.go b/grpc_pb/VISSv3.0.pb.go new file mode 100644 index 00000000..662f10a0 --- /dev/null +++ b/grpc_pb/VISSv3.0.pb.go @@ -0,0 +1,3234 @@ +//* +// (C) 2024 Ford Motor Company +// (C) 2021 Geotab +// +// All files and artifacts in the repository at https://github.com/covesa/vissr +// are licensed under the provisions of the license provided by the LICENSE file in this repository. +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v3.15.8 +// source: VISSv3.0.proto + +package __ + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + 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 ResponseStatus int32 + +const ( + ResponseStatus_SUCCESS ResponseStatus = 0 + ResponseStatus_ERROR ResponseStatus = 1 +) + +// Enum value maps for ResponseStatus. +var ( + ResponseStatus_name = map[int32]string{ + 0: "SUCCESS", + 1: "ERROR", + } + ResponseStatus_value = map[string]int32{ + "SUCCESS": 0, + "ERROR": 1, + } +) + +func (x ResponseStatus) Enum() *ResponseStatus { + p := new(ResponseStatus) + *p = x + return p +} + +func (x ResponseStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ResponseStatus) Descriptor() protoreflect.EnumDescriptor { + return file_VISSv3_0_proto_enumTypes[0].Descriptor() +} + +func (ResponseStatus) Type() protoreflect.EnumType { + return &file_VISSv3_0_proto_enumTypes[0] +} + +func (x ResponseStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ResponseStatus.Descriptor instead. +func (ResponseStatus) EnumDescriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{0} +} + +type SubscribeResponseType int32 + +const ( + SubscribeResponseType_SUB_RESPONSE SubscribeResponseType = 0 + SubscribeResponseType_SUB_EVENT SubscribeResponseType = 1 +) + +// Enum value maps for SubscribeResponseType. +var ( + SubscribeResponseType_name = map[int32]string{ + 0: "SUB_RESPONSE", + 1: "SUB_EVENT", + } + SubscribeResponseType_value = map[string]int32{ + "SUB_RESPONSE": 0, + "SUB_EVENT": 1, + } +) + +func (x SubscribeResponseType) Enum() *SubscribeResponseType { + p := new(SubscribeResponseType) + *p = x + return p +} + +func (x SubscribeResponseType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SubscribeResponseType) Descriptor() protoreflect.EnumDescriptor { + return file_VISSv3_0_proto_enumTypes[1].Descriptor() +} + +func (SubscribeResponseType) Type() protoreflect.EnumType { + return &file_VISSv3_0_proto_enumTypes[1] +} + +func (x SubscribeResponseType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SubscribeResponseType.Descriptor instead. +func (SubscribeResponseType) EnumDescriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1} +} + +type MessageMethod int32 + +const ( + MessageMethod_GET MessageMethod = 0 + MessageMethod_SET MessageMethod = 1 + MessageMethod_SUBSCRIBE MessageMethod = 2 + MessageMethod_UNSUBSCRIBE MessageMethod = 3 +) + +// Enum value maps for MessageMethod. +var ( + MessageMethod_name = map[int32]string{ + 0: "GET", + 1: "SET", + 2: "SUBSCRIBE", + 3: "UNSUBSCRIBE", + } + MessageMethod_value = map[string]int32{ + "GET": 0, + "SET": 1, + "SUBSCRIBE": 2, + "UNSUBSCRIBE": 3, + } +) + +func (x MessageMethod) Enum() *MessageMethod { + p := new(MessageMethod) + *p = x + return p +} + +func (x MessageMethod) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MessageMethod) Descriptor() protoreflect.EnumDescriptor { + return file_VISSv3_0_proto_enumTypes[2].Descriptor() +} + +func (MessageMethod) Type() protoreflect.EnumType { + return &file_VISSv3_0_proto_enumTypes[2] +} + +func (x MessageMethod) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MessageMethod.Descriptor instead. +func (MessageMethod) EnumDescriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{2} +} + +type MessageType int32 + +const ( + MessageType_REQUEST MessageType = 0 + MessageType_RESPONSE MessageType = 1 + MessageType_STREAM MessageType = 2 +) + +// Enum value maps for MessageType. +var ( + MessageType_name = map[int32]string{ + 0: "REQUEST", + 1: "RESPONSE", + 2: "STREAM", + } + MessageType_value = map[string]int32{ + "REQUEST": 0, + "RESPONSE": 1, + "STREAM": 2, + } +) + +func (x MessageType) Enum() *MessageType { + p := new(MessageType) + *p = x + return p +} + +func (x MessageType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MessageType) Descriptor() protoreflect.EnumDescriptor { + return file_VISSv3_0_proto_enumTypes[3].Descriptor() +} + +func (MessageType) Type() protoreflect.EnumType { + return &file_VISSv3_0_proto_enumTypes[3] +} + +func (x MessageType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MessageType.Descriptor instead. +func (MessageType) EnumDescriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{3} +} + +type FilterExpressions_FilterExpression_FilterVariant int32 + +const ( + FilterExpressions_FilterExpression_PATHS FilterExpressions_FilterExpression_FilterVariant = 0 + FilterExpressions_FilterExpression_TIMEBASED FilterExpressions_FilterExpression_FilterVariant = 1 + FilterExpressions_FilterExpression_RANGE FilterExpressions_FilterExpression_FilterVariant = 2 + FilterExpressions_FilterExpression_CHANGE FilterExpressions_FilterExpression_FilterVariant = 3 + FilterExpressions_FilterExpression_CURVELOG FilterExpressions_FilterExpression_FilterVariant = 4 + FilterExpressions_FilterExpression_HISTORY FilterExpressions_FilterExpression_FilterVariant = 5 + FilterExpressions_FilterExpression_METADATA FilterExpressions_FilterExpression_FilterVariant = 6 +) + +// Enum value maps for FilterExpressions_FilterExpression_FilterVariant. +var ( + FilterExpressions_FilterExpression_FilterVariant_name = map[int32]string{ + 0: "PATHS", + 1: "TIMEBASED", + 2: "RANGE", + 3: "CHANGE", + 4: "CURVELOG", + 5: "HISTORY", + 6: "METADATA", + } + FilterExpressions_FilterExpression_FilterVariant_value = map[string]int32{ + "PATHS": 0, + "TIMEBASED": 1, + "RANGE": 2, + "CHANGE": 3, + "CURVELOG": 4, + "HISTORY": 5, + "METADATA": 6, + } +) + +func (x FilterExpressions_FilterExpression_FilterVariant) Enum() *FilterExpressions_FilterExpression_FilterVariant { + p := new(FilterExpressions_FilterExpression_FilterVariant) + *p = x + return p +} + +func (x FilterExpressions_FilterExpression_FilterVariant) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FilterExpressions_FilterExpression_FilterVariant) Descriptor() protoreflect.EnumDescriptor { + return file_VISSv3_0_proto_enumTypes[4].Descriptor() +} + +func (FilterExpressions_FilterExpression_FilterVariant) Type() protoreflect.EnumType { + return &file_VISSv3_0_proto_enumTypes[4] +} + +func (x FilterExpressions_FilterExpression_FilterVariant) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FilterExpressions_FilterExpression_FilterVariant.Descriptor instead. +func (FilterExpressions_FilterExpression_FilterVariant) EnumDescriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1, 0, 0} +} + +type ErrorResponseMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Number string `protobuf:"bytes,1,opt,name=Number,proto3" json:"Number,omitempty"` + Reason *string `protobuf:"bytes,2,opt,name=Reason,proto3,oneof" json:"Reason,omitempty"` + Message *string `protobuf:"bytes,3,opt,name=Message,proto3,oneof" json:"Message,omitempty"` +} + +func (x *ErrorResponseMessage) Reset() { + *x = ErrorResponseMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ErrorResponseMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorResponseMessage) ProtoMessage() {} + +func (x *ErrorResponseMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 ErrorResponseMessage.ProtoReflect.Descriptor instead. +func (*ErrorResponseMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{0} +} + +func (x *ErrorResponseMessage) GetNumber() string { + if x != nil { + return x.Number + } + return "" +} + +func (x *ErrorResponseMessage) GetReason() string { + if x != nil && x.Reason != nil { + return *x.Reason + } + return "" +} + +func (x *ErrorResponseMessage) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +type FilterExpressions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FilterExp []*FilterExpressions_FilterExpression `protobuf:"bytes,1,rep,name=FilterExp,proto3" json:"FilterExp,omitempty"` +} + +func (x *FilterExpressions) Reset() { + *x = FilterExpressions{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterExpressions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterExpressions) ProtoMessage() {} + +func (x *FilterExpressions) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 FilterExpressions.ProtoReflect.Descriptor instead. +func (*FilterExpressions) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1} +} + +func (x *FilterExpressions) GetFilterExp() []*FilterExpressions_FilterExpression { + if x != nil { + return x.FilterExp + } + return nil +} + +type DataPackages struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*DataPackages_DataPackage `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` +} + +func (x *DataPackages) Reset() { + *x = DataPackages{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataPackages) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataPackages) ProtoMessage() {} + +func (x *DataPackages) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 DataPackages.ProtoReflect.Descriptor instead. +func (*DataPackages) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{2} +} + +func (x *DataPackages) GetData() []*DataPackages_DataPackage { + if x != nil { + return x.Data + } + return nil +} + +type GetRequestMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` + Filter *FilterExpressions `protobuf:"bytes,2,opt,name=Filter,proto3,oneof" json:"Filter,omitempty"` + Authorization *string `protobuf:"bytes,3,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` + DataCompression *string `protobuf:"bytes,4,opt,name=DataCompression,proto3,oneof" json:"DataCompression,omitempty"` + RequestId *string `protobuf:"bytes,5,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` +} + +func (x *GetRequestMessage) Reset() { + *x = GetRequestMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRequestMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRequestMessage) ProtoMessage() {} + +func (x *GetRequestMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 GetRequestMessage.ProtoReflect.Descriptor instead. +func (*GetRequestMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{3} +} + +func (x *GetRequestMessage) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *GetRequestMessage) GetFilter() *FilterExpressions { + if x != nil { + return x.Filter + } + return nil +} + +func (x *GetRequestMessage) GetAuthorization() string { + if x != nil && x.Authorization != nil { + return *x.Authorization + } + return "" +} + +func (x *GetRequestMessage) GetDataCompression() string { + if x != nil && x.DataCompression != nil { + return *x.DataCompression + } + return "" +} + +func (x *GetRequestMessage) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +type GetResponseMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status ResponseStatus `protobuf:"varint,1,opt,name=Status,proto3,enum=grpcProtobufMessages.ResponseStatus" json:"Status,omitempty"` + SuccessResponse *GetResponseMessage_SuccessResponseMessage `protobuf:"bytes,2,opt,name=SuccessResponse,proto3,oneof" json:"SuccessResponse,omitempty"` + ErrorResponse *ErrorResponseMessage `protobuf:"bytes,3,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` + RequestId *string `protobuf:"bytes,4,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` + Ts string `protobuf:"bytes,5,opt,name=Ts,proto3" json:"Ts,omitempty"` + Authorization *string `protobuf:"bytes,6,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` +} + +func (x *GetResponseMessage) Reset() { + *x = GetResponseMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetResponseMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetResponseMessage) ProtoMessage() {} + +func (x *GetResponseMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 GetResponseMessage.ProtoReflect.Descriptor instead. +func (*GetResponseMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{4} +} + +func (x *GetResponseMessage) GetStatus() ResponseStatus { + if x != nil { + return x.Status + } + return ResponseStatus_SUCCESS +} + +func (x *GetResponseMessage) GetSuccessResponse() *GetResponseMessage_SuccessResponseMessage { + if x != nil { + return x.SuccessResponse + } + return nil +} + +func (x *GetResponseMessage) GetErrorResponse() *ErrorResponseMessage { + if x != nil { + return x.ErrorResponse + } + return nil +} + +func (x *GetResponseMessage) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +func (x *GetResponseMessage) GetTs() string { + if x != nil { + return x.Ts + } + return "" +} + +func (x *GetResponseMessage) GetAuthorization() string { + if x != nil && x.Authorization != nil { + return *x.Authorization + } + return "" +} + +type SetRequestMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` + Value string `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"` + Authorization *string `protobuf:"bytes,3,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` + RequestId *string `protobuf:"bytes,4,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` +} + +func (x *SetRequestMessage) Reset() { + *x = SetRequestMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetRequestMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetRequestMessage) ProtoMessage() {} + +func (x *SetRequestMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 SetRequestMessage.ProtoReflect.Descriptor instead. +func (*SetRequestMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{5} +} + +func (x *SetRequestMessage) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *SetRequestMessage) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *SetRequestMessage) GetAuthorization() string { + if x != nil && x.Authorization != nil { + return *x.Authorization + } + return "" +} + +func (x *SetRequestMessage) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +type SetResponseMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status ResponseStatus `protobuf:"varint,1,opt,name=Status,proto3,enum=grpcProtobufMessages.ResponseStatus" json:"Status,omitempty"` + ErrorResponse *ErrorResponseMessage `protobuf:"bytes,2,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` + RequestId *string `protobuf:"bytes,3,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` + Ts string `protobuf:"bytes,4,opt,name=Ts,proto3" json:"Ts,omitempty"` + Authorization *string `protobuf:"bytes,5,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` +} + +func (x *SetResponseMessage) Reset() { + *x = SetResponseMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetResponseMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetResponseMessage) ProtoMessage() {} + +func (x *SetResponseMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 SetResponseMessage.ProtoReflect.Descriptor instead. +func (*SetResponseMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{6} +} + +func (x *SetResponseMessage) GetStatus() ResponseStatus { + if x != nil { + return x.Status + } + return ResponseStatus_SUCCESS +} + +func (x *SetResponseMessage) GetErrorResponse() *ErrorResponseMessage { + if x != nil { + return x.ErrorResponse + } + return nil +} + +func (x *SetResponseMessage) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +func (x *SetResponseMessage) GetTs() string { + if x != nil { + return x.Ts + } + return "" +} + +func (x *SetResponseMessage) GetAuthorization() string { + if x != nil && x.Authorization != nil { + return *x.Authorization + } + return "" +} + +type SubscribeRequestMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` + Filter *FilterExpressions `protobuf:"bytes,2,opt,name=Filter,proto3,oneof" json:"Filter,omitempty"` + Authorization *string `protobuf:"bytes,3,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` + DataCompression *string `protobuf:"bytes,4,opt,name=DataCompression,proto3,oneof" json:"DataCompression,omitempty"` + RequestId string `protobuf:"bytes,5,opt,name=RequestId,proto3" json:"RequestId,omitempty"` +} + +func (x *SubscribeRequestMessage) Reset() { + *x = SubscribeRequestMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribeRequestMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribeRequestMessage) ProtoMessage() {} + +func (x *SubscribeRequestMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 SubscribeRequestMessage.ProtoReflect.Descriptor instead. +func (*SubscribeRequestMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{7} +} + +func (x *SubscribeRequestMessage) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *SubscribeRequestMessage) GetFilter() *FilterExpressions { + if x != nil { + return x.Filter + } + return nil +} + +func (x *SubscribeRequestMessage) GetAuthorization() string { + if x != nil && x.Authorization != nil { + return *x.Authorization + } + return "" +} + +func (x *SubscribeRequestMessage) GetDataCompression() string { + if x != nil && x.DataCompression != nil { + return *x.DataCompression + } + return "" +} + +func (x *SubscribeRequestMessage) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +type SubscribeStreamMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MType SubscribeResponseType `protobuf:"varint,1,opt,name=MType,proto3,enum=grpcProtobufMessages.SubscribeResponseType" json:"MType,omitempty"` + Status ResponseStatus `protobuf:"varint,2,opt,name=Status,proto3,enum=grpcProtobufMessages.ResponseStatus" json:"Status,omitempty"` + Response *SubscribeStreamMessage_SubscribeResponseMessage `protobuf:"bytes,3,opt,name=Response,proto3,oneof" json:"Response,omitempty"` + Event *SubscribeStreamMessage_SubscribeEventMessage `protobuf:"bytes,4,opt,name=Event,proto3,oneof" json:"Event,omitempty"` +} + +func (x *SubscribeStreamMessage) Reset() { + *x = SubscribeStreamMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribeStreamMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribeStreamMessage) ProtoMessage() {} + +func (x *SubscribeStreamMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 SubscribeStreamMessage.ProtoReflect.Descriptor instead. +func (*SubscribeStreamMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{8} +} + +func (x *SubscribeStreamMessage) GetMType() SubscribeResponseType { + if x != nil { + return x.MType + } + return SubscribeResponseType_SUB_RESPONSE +} + +func (x *SubscribeStreamMessage) GetStatus() ResponseStatus { + if x != nil { + return x.Status + } + return ResponseStatus_SUCCESS +} + +func (x *SubscribeStreamMessage) GetResponse() *SubscribeStreamMessage_SubscribeResponseMessage { + if x != nil { + return x.Response + } + return nil +} + +func (x *SubscribeStreamMessage) GetEvent() *SubscribeStreamMessage_SubscribeEventMessage { + if x != nil { + return x.Event + } + return nil +} + +type UnsubscribeRequestMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SubscriptionId string `protobuf:"bytes,1,opt,name=SubscriptionId,proto3" json:"SubscriptionId,omitempty"` + RequestId *string `protobuf:"bytes,2,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` +} + +func (x *UnsubscribeRequestMessage) Reset() { + *x = UnsubscribeRequestMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnsubscribeRequestMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnsubscribeRequestMessage) ProtoMessage() {} + +func (x *UnsubscribeRequestMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 UnsubscribeRequestMessage.ProtoReflect.Descriptor instead. +func (*UnsubscribeRequestMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{9} +} + +func (x *UnsubscribeRequestMessage) GetSubscriptionId() string { + if x != nil { + return x.SubscriptionId + } + return "" +} + +func (x *UnsubscribeRequestMessage) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +type UnsubscribeResponseMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status ResponseStatus `protobuf:"varint,1,opt,name=Status,proto3,enum=grpcProtobufMessages.ResponseStatus" json:"Status,omitempty"` + ErrorResponse *ErrorResponseMessage `protobuf:"bytes,2,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` + RequestId *string `protobuf:"bytes,3,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` + Ts string `protobuf:"bytes,4,opt,name=Ts,proto3" json:"Ts,omitempty"` +} + +func (x *UnsubscribeResponseMessage) Reset() { + *x = UnsubscribeResponseMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnsubscribeResponseMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnsubscribeResponseMessage) ProtoMessage() {} + +func (x *UnsubscribeResponseMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 UnsubscribeResponseMessage.ProtoReflect.Descriptor instead. +func (*UnsubscribeResponseMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{10} +} + +func (x *UnsubscribeResponseMessage) GetStatus() ResponseStatus { + if x != nil { + return x.Status + } + return ResponseStatus_SUCCESS +} + +func (x *UnsubscribeResponseMessage) GetErrorResponse() *ErrorResponseMessage { + if x != nil { + return x.ErrorResponse + } + return nil +} + +func (x *UnsubscribeResponseMessage) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +func (x *UnsubscribeResponseMessage) GetTs() string { + if x != nil { + return x.Ts + } + return "" +} + +type ProtobufMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Method MessageMethod `protobuf:"varint,1,opt,name=Method,proto3,enum=grpcProtobufMessages.MessageMethod" json:"Method,omitempty"` + Get *GetMessage `protobuf:"bytes,2,opt,name=Get,proto3,oneof" json:"Get,omitempty"` + Set *SetMessage `protobuf:"bytes,3,opt,name=Set,proto3,oneof" json:"Set,omitempty"` + Subscribe *SubscribeMessage `protobuf:"bytes,4,opt,name=Subscribe,proto3,oneof" json:"Subscribe,omitempty"` + Unsubscribe *UnsubscribeMessage `protobuf:"bytes,5,opt,name=Unsubscribe,proto3,oneof" json:"Unsubscribe,omitempty"` +} + +func (x *ProtobufMessage) Reset() { + *x = ProtobufMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProtobufMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProtobufMessage) ProtoMessage() {} + +func (x *ProtobufMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 ProtobufMessage.ProtoReflect.Descriptor instead. +func (*ProtobufMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{11} +} + +func (x *ProtobufMessage) GetMethod() MessageMethod { + if x != nil { + return x.Method + } + return MessageMethod_GET +} + +func (x *ProtobufMessage) GetGet() *GetMessage { + if x != nil { + return x.Get + } + return nil +} + +func (x *ProtobufMessage) GetSet() *SetMessage { + if x != nil { + return x.Set + } + return nil +} + +func (x *ProtobufMessage) GetSubscribe() *SubscribeMessage { + if x != nil { + return x.Subscribe + } + return nil +} + +func (x *ProtobufMessage) GetUnsubscribe() *UnsubscribeMessage { + if x != nil { + return x.Unsubscribe + } + return nil +} + +type GetMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MType MessageType `protobuf:"varint,1,opt,name=MType,proto3,enum=grpcProtobufMessages.MessageType" json:"MType,omitempty"` + Request *GetRequestMessage `protobuf:"bytes,2,opt,name=Request,proto3,oneof" json:"Request,omitempty"` + Response *GetResponseMessage `protobuf:"bytes,3,opt,name=Response,proto3,oneof" json:"Response,omitempty"` +} + +func (x *GetMessage) Reset() { + *x = GetMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMessage) ProtoMessage() {} + +func (x *GetMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMessage.ProtoReflect.Descriptor instead. +func (*GetMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{12} +} + +func (x *GetMessage) GetMType() MessageType { + if x != nil { + return x.MType + } + return MessageType_REQUEST +} + +func (x *GetMessage) GetRequest() *GetRequestMessage { + if x != nil { + return x.Request + } + return nil +} + +func (x *GetMessage) GetResponse() *GetResponseMessage { + if x != nil { + return x.Response + } + return nil +} + +type SetMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MType MessageType `protobuf:"varint,1,opt,name=MType,proto3,enum=grpcProtobufMessages.MessageType" json:"MType,omitempty"` + Request *SetRequestMessage `protobuf:"bytes,2,opt,name=Request,proto3,oneof" json:"Request,omitempty"` + Response *SetResponseMessage `protobuf:"bytes,3,opt,name=Response,proto3,oneof" json:"Response,omitempty"` +} + +func (x *SetMessage) Reset() { + *x = SetMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetMessage) ProtoMessage() {} + +func (x *SetMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetMessage.ProtoReflect.Descriptor instead. +func (*SetMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{13} +} + +func (x *SetMessage) GetMType() MessageType { + if x != nil { + return x.MType + } + return MessageType_REQUEST +} + +func (x *SetMessage) GetRequest() *SetRequestMessage { + if x != nil { + return x.Request + } + return nil +} + +func (x *SetMessage) GetResponse() *SetResponseMessage { + if x != nil { + return x.Response + } + return nil +} + +type SubscribeMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MType MessageType `protobuf:"varint,1,opt,name=MType,proto3,enum=grpcProtobufMessages.MessageType" json:"MType,omitempty"` + Request *SubscribeRequestMessage `protobuf:"bytes,2,opt,name=Request,proto3,oneof" json:"Request,omitempty"` + Stream *SubscribeStreamMessage `protobuf:"bytes,3,opt,name=Stream,proto3,oneof" json:"Stream,omitempty"` +} + +func (x *SubscribeMessage) Reset() { + *x = SubscribeMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribeMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribeMessage) ProtoMessage() {} + +func (x *SubscribeMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscribeMessage.ProtoReflect.Descriptor instead. +func (*SubscribeMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{14} +} + +func (x *SubscribeMessage) GetMType() MessageType { + if x != nil { + return x.MType + } + return MessageType_REQUEST +} + +func (x *SubscribeMessage) GetRequest() *SubscribeRequestMessage { + if x != nil { + return x.Request + } + return nil +} + +func (x *SubscribeMessage) GetStream() *SubscribeStreamMessage { + if x != nil { + return x.Stream + } + return nil +} + +type UnsubscribeMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MType MessageType `protobuf:"varint,1,opt,name=MType,proto3,enum=grpcProtobufMessages.MessageType" json:"MType,omitempty"` + Request *UnsubscribeRequestMessage `protobuf:"bytes,2,opt,name=Request,proto3,oneof" json:"Request,omitempty"` + Response *UnsubscribeResponseMessage `protobuf:"bytes,3,opt,name=Response,proto3,oneof" json:"Response,omitempty"` +} + +func (x *UnsubscribeMessage) Reset() { + *x = UnsubscribeMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnsubscribeMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnsubscribeMessage) ProtoMessage() {} + +func (x *UnsubscribeMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[15] + 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 UnsubscribeMessage.ProtoReflect.Descriptor instead. +func (*UnsubscribeMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{15} +} + +func (x *UnsubscribeMessage) GetMType() MessageType { + if x != nil { + return x.MType + } + return MessageType_REQUEST +} + +func (x *UnsubscribeMessage) GetRequest() *UnsubscribeRequestMessage { + if x != nil { + return x.Request + } + return nil +} + +func (x *UnsubscribeMessage) GetResponse() *UnsubscribeResponseMessage { + if x != nil { + return x.Response + } + return nil +} + +type FilterExpressions_FilterExpression struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Variant FilterExpressions_FilterExpression_FilterVariant `protobuf:"varint,1,opt,name=Variant,proto3,enum=grpcProtobufMessages.FilterExpressions_FilterExpression_FilterVariant" json:"Variant,omitempty"` + Value *FilterExpressions_FilterExpression_FilterValue `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"` +} + +func (x *FilterExpressions_FilterExpression) Reset() { + *x = FilterExpressions_FilterExpression{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterExpressions_FilterExpression) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterExpressions_FilterExpression) ProtoMessage() {} + +func (x *FilterExpressions_FilterExpression) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[16] + 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 FilterExpressions_FilterExpression.ProtoReflect.Descriptor instead. +func (*FilterExpressions_FilterExpression) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *FilterExpressions_FilterExpression) GetVariant() FilterExpressions_FilterExpression_FilterVariant { + if x != nil { + return x.Variant + } + return FilterExpressions_FilterExpression_PATHS +} + +func (x *FilterExpressions_FilterExpression) GetValue() *FilterExpressions_FilterExpression_FilterValue { + if x != nil { + return x.Value + } + return nil +} + +type FilterExpressions_FilterExpression_FilterValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValuePaths *FilterExpressions_FilterExpression_FilterValue_PathsValue `protobuf:"bytes,1,opt,name=ValuePaths,proto3,oneof" json:"ValuePaths,omitempty"` + ValueTimebased *FilterExpressions_FilterExpression_FilterValue_TimebasedValue `protobuf:"bytes,2,opt,name=ValueTimebased,proto3,oneof" json:"ValueTimebased,omitempty"` + ValueRange []*FilterExpressions_FilterExpression_FilterValue_RangeValue `protobuf:"bytes,3,rep,name=ValueRange,proto3" json:"ValueRange,omitempty"` + ValueChange *FilterExpressions_FilterExpression_FilterValue_ChangeValue `protobuf:"bytes,4,opt,name=ValueChange,proto3,oneof" json:"ValueChange,omitempty"` + ValueCurvelog *FilterExpressions_FilterExpression_FilterValue_CurvelogValue `protobuf:"bytes,5,opt,name=ValueCurvelog,proto3,oneof" json:"ValueCurvelog,omitempty"` + ValueHistory *FilterExpressions_FilterExpression_FilterValue_HistoryValue `protobuf:"bytes,6,opt,name=ValueHistory,proto3,oneof" json:"ValueHistory,omitempty"` + ValueMetadata *FilterExpressions_FilterExpression_FilterValue_MetadataValue `protobuf:"bytes,7,opt,name=ValueMetadata,proto3,oneof" json:"ValueMetadata,omitempty"` +} + +func (x *FilterExpressions_FilterExpression_FilterValue) Reset() { + *x = FilterExpressions_FilterExpression_FilterValue{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterExpressions_FilterExpression_FilterValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterExpressions_FilterExpression_FilterValue) ProtoMessage() {} + +func (x *FilterExpressions_FilterExpression_FilterValue) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[17] + 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 FilterExpressions_FilterExpression_FilterValue.ProtoReflect.Descriptor instead. +func (*FilterExpressions_FilterExpression_FilterValue) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1, 0, 0} +} + +func (x *FilterExpressions_FilterExpression_FilterValue) GetValuePaths() *FilterExpressions_FilterExpression_FilterValue_PathsValue { + if x != nil { + return x.ValuePaths + } + return nil +} + +func (x *FilterExpressions_FilterExpression_FilterValue) GetValueTimebased() *FilterExpressions_FilterExpression_FilterValue_TimebasedValue { + if x != nil { + return x.ValueTimebased + } + return nil +} + +func (x *FilterExpressions_FilterExpression_FilterValue) GetValueRange() []*FilterExpressions_FilterExpression_FilterValue_RangeValue { + if x != nil { + return x.ValueRange + } + return nil +} + +func (x *FilterExpressions_FilterExpression_FilterValue) GetValueChange() *FilterExpressions_FilterExpression_FilterValue_ChangeValue { + if x != nil { + return x.ValueChange + } + return nil +} + +func (x *FilterExpressions_FilterExpression_FilterValue) GetValueCurvelog() *FilterExpressions_FilterExpression_FilterValue_CurvelogValue { + if x != nil { + return x.ValueCurvelog + } + return nil +} + +func (x *FilterExpressions_FilterExpression_FilterValue) GetValueHistory() *FilterExpressions_FilterExpression_FilterValue_HistoryValue { + if x != nil { + return x.ValueHistory + } + return nil +} + +func (x *FilterExpressions_FilterExpression_FilterValue) GetValueMetadata() *FilterExpressions_FilterExpression_FilterValue_MetadataValue { + if x != nil { + return x.ValueMetadata + } + return nil +} + +type FilterExpressions_FilterExpression_FilterValue_PathsValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RelativePath []string `protobuf:"bytes,1,rep,name=RelativePath,proto3" json:"RelativePath,omitempty"` +} + +func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) Reset() { + *x = FilterExpressions_FilterExpression_FilterValue_PathsValue{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterExpressions_FilterExpression_FilterValue_PathsValue) ProtoMessage() {} + +func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[18] + 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 FilterExpressions_FilterExpression_FilterValue_PathsValue.ProtoReflect.Descriptor instead. +func (*FilterExpressions_FilterExpression_FilterValue_PathsValue) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1, 0, 0, 0} +} + +func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) GetRelativePath() []string { + if x != nil { + return x.RelativePath + } + return nil +} + +type FilterExpressions_FilterExpression_FilterValue_TimebasedValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Period string `protobuf:"bytes,1,opt,name=Period,proto3" json:"Period,omitempty"` +} + +func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) Reset() { + *x = FilterExpressions_FilterExpression_FilterValue_TimebasedValue{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterExpressions_FilterExpression_FilterValue_TimebasedValue) ProtoMessage() {} + +func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[19] + 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 FilterExpressions_FilterExpression_FilterValue_TimebasedValue.ProtoReflect.Descriptor instead. +func (*FilterExpressions_FilterExpression_FilterValue_TimebasedValue) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1, 0, 0, 1} +} + +func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) GetPeriod() string { + if x != nil { + return x.Period + } + return "" +} + +type FilterExpressions_FilterExpression_FilterValue_RangeValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LogicOperator string `protobuf:"bytes,1,opt,name=LogicOperator,proto3" json:"LogicOperator,omitempty"` + Boundary string `protobuf:"bytes,2,opt,name=Boundary,proto3" json:"Boundary,omitempty"` +} + +func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) Reset() { + *x = FilterExpressions_FilterExpression_FilterValue_RangeValue{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterExpressions_FilterExpression_FilterValue_RangeValue) ProtoMessage() {} + +func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[20] + 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 FilterExpressions_FilterExpression_FilterValue_RangeValue.ProtoReflect.Descriptor instead. +func (*FilterExpressions_FilterExpression_FilterValue_RangeValue) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1, 0, 0, 2} +} + +func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) GetLogicOperator() string { + if x != nil { + return x.LogicOperator + } + return "" +} + +func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) GetBoundary() string { + if x != nil { + return x.Boundary + } + return "" +} + +type FilterExpressions_FilterExpression_FilterValue_ChangeValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LogicOperator string `protobuf:"bytes,1,opt,name=LogicOperator,proto3" json:"LogicOperator,omitempty"` + Diff string `protobuf:"bytes,2,opt,name=Diff,proto3" json:"Diff,omitempty"` +} + +func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) Reset() { + *x = FilterExpressions_FilterExpression_FilterValue_ChangeValue{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterExpressions_FilterExpression_FilterValue_ChangeValue) ProtoMessage() {} + +func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[21] + 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 FilterExpressions_FilterExpression_FilterValue_ChangeValue.ProtoReflect.Descriptor instead. +func (*FilterExpressions_FilterExpression_FilterValue_ChangeValue) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1, 0, 0, 3} +} + +func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) GetLogicOperator() string { + if x != nil { + return x.LogicOperator + } + return "" +} + +func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) GetDiff() string { + if x != nil { + return x.Diff + } + return "" +} + +type FilterExpressions_FilterExpression_FilterValue_CurvelogValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MaxErr string `protobuf:"bytes,1,opt,name=MaxErr,proto3" json:"MaxErr,omitempty"` + BufSize string `protobuf:"bytes,2,opt,name=BufSize,proto3" json:"BufSize,omitempty"` +} + +func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) Reset() { + *x = FilterExpressions_FilterExpression_FilterValue_CurvelogValue{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterExpressions_FilterExpression_FilterValue_CurvelogValue) ProtoMessage() {} + +func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[22] + 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 FilterExpressions_FilterExpression_FilterValue_CurvelogValue.ProtoReflect.Descriptor instead. +func (*FilterExpressions_FilterExpression_FilterValue_CurvelogValue) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1, 0, 0, 4} +} + +func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) GetMaxErr() string { + if x != nil { + return x.MaxErr + } + return "" +} + +func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) GetBufSize() string { + if x != nil { + return x.BufSize + } + return "" +} + +type FilterExpressions_FilterExpression_FilterValue_HistoryValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TimePeriod string `protobuf:"bytes,1,opt,name=TimePeriod,proto3" json:"TimePeriod,omitempty"` //ISO8601 period expression +} + +func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) Reset() { + *x = FilterExpressions_FilterExpression_FilterValue_HistoryValue{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterExpressions_FilterExpression_FilterValue_HistoryValue) ProtoMessage() {} + +func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 FilterExpressions_FilterExpression_FilterValue_HistoryValue.ProtoReflect.Descriptor instead. +func (*FilterExpressions_FilterExpression_FilterValue_HistoryValue) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1, 0, 0, 5} +} + +func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) GetTimePeriod() string { + if x != nil { + return x.TimePeriod + } + return "" +} + +type FilterExpressions_FilterExpression_FilterValue_MetadataValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tree string `protobuf:"bytes,1,opt,name=Tree,proto3" json:"Tree,omitempty"` +} + +func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) Reset() { + *x = FilterExpressions_FilterExpression_FilterValue_MetadataValue{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FilterExpressions_FilterExpression_FilterValue_MetadataValue) ProtoMessage() {} + +func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_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 FilterExpressions_FilterExpression_FilterValue_MetadataValue.ProtoReflect.Descriptor instead. +func (*FilterExpressions_FilterExpression_FilterValue_MetadataValue) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{1, 0, 0, 6} +} + +func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) GetTree() string { + if x != nil { + return x.Tree + } + return "" +} + +type DataPackages_DataPackage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` + Dp []*DataPackages_DataPackage_DataPoint `protobuf:"bytes,2,rep,name=Dp,proto3" json:"Dp,omitempty"` +} + +func (x *DataPackages_DataPackage) Reset() { + *x = DataPackages_DataPackage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataPackages_DataPackage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataPackages_DataPackage) ProtoMessage() {} + +func (x *DataPackages_DataPackage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[25] + 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 DataPackages_DataPackage.ProtoReflect.Descriptor instead. +func (*DataPackages_DataPackage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *DataPackages_DataPackage) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *DataPackages_DataPackage) GetDp() []*DataPackages_DataPackage_DataPoint { + if x != nil { + return x.Dp + } + return nil +} + +type DataPackages_DataPackage_DataPoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value string `protobuf:"bytes,1,opt,name=Value,proto3" json:"Value,omitempty"` + Ts string `protobuf:"bytes,2,opt,name=Ts,proto3" json:"Ts,omitempty"` +} + +func (x *DataPackages_DataPackage_DataPoint) Reset() { + *x = DataPackages_DataPackage_DataPoint{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DataPackages_DataPackage_DataPoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataPackages_DataPackage_DataPoint) ProtoMessage() {} + +func (x *DataPackages_DataPackage_DataPoint) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[26] + 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 DataPackages_DataPackage_DataPoint.ProtoReflect.Descriptor instead. +func (*DataPackages_DataPackage_DataPoint) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{2, 0, 0} +} + +func (x *DataPackages_DataPackage_DataPoint) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *DataPackages_DataPackage_DataPoint) GetTs() string { + if x != nil { + return x.Ts + } + return "" +} + +type GetResponseMessage_SuccessResponseMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DataPack *DataPackages `protobuf:"bytes,1,opt,name=DataPack,proto3,oneof" json:"DataPack,omitempty"` + Metadata *string `protobuf:"bytes,2,opt,name=Metadata,proto3,oneof" json:"Metadata,omitempty"` // replaces DataPack in metadata variant +} + +func (x *GetResponseMessage_SuccessResponseMessage) Reset() { + *x = GetResponseMessage_SuccessResponseMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetResponseMessage_SuccessResponseMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetResponseMessage_SuccessResponseMessage) ProtoMessage() {} + +func (x *GetResponseMessage_SuccessResponseMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[27] + 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 GetResponseMessage_SuccessResponseMessage.ProtoReflect.Descriptor instead. +func (*GetResponseMessage_SuccessResponseMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *GetResponseMessage_SuccessResponseMessage) GetDataPack() *DataPackages { + if x != nil { + return x.DataPack + } + return nil +} + +func (x *GetResponseMessage_SuccessResponseMessage) GetMetadata() string { + if x != nil && x.Metadata != nil { + return *x.Metadata + } + return "" +} + +type SubscribeStreamMessage_SubscribeResponseMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ErrorResponse *ErrorResponseMessage `protobuf:"bytes,1,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` + SubscriptionId *string `protobuf:"bytes,2,opt,name=SubscriptionId,proto3,oneof" json:"SubscriptionId,omitempty"` + RequestId string `protobuf:"bytes,3,opt,name=RequestId,proto3" json:"RequestId,omitempty"` + Ts string `protobuf:"bytes,4,opt,name=Ts,proto3" json:"Ts,omitempty"` + Authorization *string `protobuf:"bytes,5,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` +} + +func (x *SubscribeStreamMessage_SubscribeResponseMessage) Reset() { + *x = SubscribeStreamMessage_SubscribeResponseMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribeStreamMessage_SubscribeResponseMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribeStreamMessage_SubscribeResponseMessage) ProtoMessage() {} + +func (x *SubscribeStreamMessage_SubscribeResponseMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[28] + 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 SubscribeStreamMessage_SubscribeResponseMessage.ProtoReflect.Descriptor instead. +func (*SubscribeStreamMessage_SubscribeResponseMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{8, 0} +} + +func (x *SubscribeStreamMessage_SubscribeResponseMessage) GetErrorResponse() *ErrorResponseMessage { + if x != nil { + return x.ErrorResponse + } + return nil +} + +func (x *SubscribeStreamMessage_SubscribeResponseMessage) GetSubscriptionId() string { + if x != nil && x.SubscriptionId != nil { + return *x.SubscriptionId + } + return "" +} + +func (x *SubscribeStreamMessage_SubscribeResponseMessage) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *SubscribeStreamMessage_SubscribeResponseMessage) GetTs() string { + if x != nil { + return x.Ts + } + return "" +} + +func (x *SubscribeStreamMessage_SubscribeResponseMessage) GetAuthorization() string { + if x != nil && x.Authorization != nil { + return *x.Authorization + } + return "" +} + +type SubscribeStreamMessage_SubscribeEventMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SubscriptionId string `protobuf:"bytes,1,opt,name=SubscriptionId,proto3" json:"SubscriptionId,omitempty"` + SuccessResponse *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage `protobuf:"bytes,2,opt,name=SuccessResponse,proto3,oneof" json:"SuccessResponse,omitempty"` + ErrorResponse *ErrorResponseMessage `protobuf:"bytes,3,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` + Ts string `protobuf:"bytes,4,opt,name=Ts,proto3" json:"Ts,omitempty"` +} + +func (x *SubscribeStreamMessage_SubscribeEventMessage) Reset() { + *x = SubscribeStreamMessage_SubscribeEventMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribeStreamMessage_SubscribeEventMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribeStreamMessage_SubscribeEventMessage) ProtoMessage() {} + +func (x *SubscribeStreamMessage_SubscribeEventMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[29] + 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 SubscribeStreamMessage_SubscribeEventMessage.ProtoReflect.Descriptor instead. +func (*SubscribeStreamMessage_SubscribeEventMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{8, 1} +} + +func (x *SubscribeStreamMessage_SubscribeEventMessage) GetSubscriptionId() string { + if x != nil { + return x.SubscriptionId + } + return "" +} + +func (x *SubscribeStreamMessage_SubscribeEventMessage) GetSuccessResponse() *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage { + if x != nil { + return x.SuccessResponse + } + return nil +} + +func (x *SubscribeStreamMessage_SubscribeEventMessage) GetErrorResponse() *ErrorResponseMessage { + if x != nil { + return x.ErrorResponse + } + return nil +} + +func (x *SubscribeStreamMessage_SubscribeEventMessage) GetTs() string { + if x != nil { + return x.Ts + } + return "" +} + +type SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DataPack *DataPackages `protobuf:"bytes,1,opt,name=DataPack,proto3" json:"DataPack,omitempty"` +} + +func (x *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) Reset() { + *x = SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage{} + if protoimpl.UnsafeEnabled { + mi := &file_VISSv3_0_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) ProtoMessage() {} + +func (x *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) ProtoReflect() protoreflect.Message { + mi := &file_VISSv3_0_proto_msgTypes[30] + 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 SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage.ProtoReflect.Descriptor instead. +func (*SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) Descriptor() ([]byte, []int) { + return file_VISSv3_0_proto_rawDescGZIP(), []int{8, 1, 0} +} + +func (x *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) GetDataPack() *DataPackages { + if x != nil { + return x.DataPack + } + return nil +} + +var File_VISSv3_0_proto protoreflect.FileDescriptor + +var file_VISSv3_0_proto_rawDesc = []byte{ + 0x0a, 0x0e, 0x56, 0x49, 0x53, 0x53, 0x76, 0x33, 0x2e, 0x30, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x14, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x14, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8a, 0x0e, 0x0a, 0x11, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x56, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x1a, 0x9c, 0x0d, 0x0a, 0x10, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x60, 0x0a, + 0x07, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x07, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, + 0x5a, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xde, 0x0a, 0x0a, 0x0b, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x74, 0x0a, 0x0a, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x4f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x48, 0x00, 0x52, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x80, 0x01, 0x0a, 0x0e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x62, + 0x61, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, + 0x01, 0x52, 0x0e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x6f, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x77, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x02, 0x52, 0x0b, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x7d, + 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x75, 0x72, 0x76, + 0x65, 0x6c, 0x6f, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x03, 0x52, 0x0d, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, 0x88, 0x01, 0x01, 0x12, 0x7a, 0x0a, + 0x0c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x04, 0x52, 0x0c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x7d, 0x0a, 0x0d, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x52, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x48, 0x05, 0x52, 0x0d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x1a, 0x30, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x68, + 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x1a, 0x28, 0x0a, 0x0e, 0x54, 0x69, + 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x65, + 0x72, 0x69, 0x6f, 0x64, 0x1a, 0x4e, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x63, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x6f, 0x75, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x6f, 0x75, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x1a, 0x47, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x4c, 0x6f, 0x67, 0x69, + 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x69, 0x66, + 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x69, 0x66, 0x66, 0x1a, 0x41, 0x0a, + 0x0d, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x4d, 0x61, 0x78, 0x45, 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x4d, 0x61, 0x78, 0x45, 0x72, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x75, 0x66, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x42, 0x75, 0x66, 0x53, 0x69, 0x7a, 0x65, + 0x1a, 0x2e, 0x0a, 0x0c, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, + 0x1a, 0x23, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x72, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x54, 0x72, 0x65, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x69, 0x0a, 0x0d, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x09, 0x0a, + 0x05, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, + 0x42, 0x41, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, + 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x03, 0x12, 0x0c, + 0x0a, 0x08, 0x43, 0x55, 0x52, 0x56, 0x45, 0x4c, 0x4f, 0x47, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, + 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x45, 0x54, + 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x06, 0x22, 0xf3, 0x01, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, + 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x9e, 0x01, 0x0a, + 0x0b, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x48, 0x0a, 0x02, 0x44, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x02, 0x44, 0x70, 0x1a, 0x31, 0x0a, 0x09, 0x44, 0x61, + 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, + 0x02, 0x54, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x54, 0x73, 0x22, 0xa9, 0x02, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x48, 0x00, 0x52, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, + 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, + 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x44, 0x61, 0x74, 0x61, + 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xd8, 0x04, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x3c, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x24, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x6e, + 0x0a, 0x0f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x55, + 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x48, 0x01, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x54, 0x73, 0x12, 0x29, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x1a, 0x98, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x43, + 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, + 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, + 0x6b, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, + 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, + 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x29, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x22, 0xb9, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x55, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x54, + 0x73, 0x12, 0x29, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, + 0x02, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, + 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x44, + 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x2d, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0f, 0x44, 0x61, 0x74, 0x61, + 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, + 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x44, 0x61, + 0x74, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xdc, 0x08, + 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x4d, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x66, 0x0a, 0x08, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x00, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x5d, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x42, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x1a, 0xae, 0x02, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, + 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x48, 0x00, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x54, 0x73, 0x12, + 0x29, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x11, 0x0a, 0x0f, + 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0xb1, 0x03, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x55, + 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x48, 0x01, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x54, 0x73, 0x1a, 0x58, 0x0a, 0x16, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x3e, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x08, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x74, 0x0a, 0x19, + 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x22, 0x84, 0x02, 0x0a, 0x1a, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x55, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x54, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x8a, 0x03, 0x0a, 0x0f, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, + 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x37, 0x0a, 0x03, 0x47, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x03, 0x47, 0x65, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x01, 0x52, 0x03, 0x53, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x09, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x02, 0x52, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x0b, 0x55, 0x6e, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x03, 0x52, 0x0b, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x47, 0x65, 0x74, + 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x53, 0x65, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x55, 0x6e, 0x73, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x46, + 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x01, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, + 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x0a, 0x53, + 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x4d, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x4d, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x08, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfb, + 0x01, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x06, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x06, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x89, 0x02, 0x0a, + 0x12, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4e, 0x0a, 0x07, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, + 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x08, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x48, 0x01, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x28, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, + 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x10, 0x01, 0x2a, 0x38, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x53, + 0x55, 0x42, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, + 0x09, 0x53, 0x55, 0x42, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x2a, 0x41, 0x0a, 0x0d, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x07, 0x0a, + 0x03, 0x47, 0x45, 0x54, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, + 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x10, 0x02, 0x12, 0x0f, + 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x10, 0x03, 0x2a, + 0x34, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, + 0x0a, 0x07, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x52, + 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, + 0x45, 0x41, 0x4d, 0x10, 0x02, 0x32, 0xb4, 0x03, 0x0a, 0x04, 0x56, 0x49, 0x53, 0x53, 0x12, 0x5f, + 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x5f, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x71, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x1a, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x12, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x2e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x2e, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x04, 0x5a, 0x02, + 0x2e, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_VISSv3_0_proto_rawDescOnce sync.Once + file_VISSv3_0_proto_rawDescData = file_VISSv3_0_proto_rawDesc +) + +func file_VISSv3_0_proto_rawDescGZIP() []byte { + file_VISSv3_0_proto_rawDescOnce.Do(func() { + file_VISSv3_0_proto_rawDescData = protoimpl.X.CompressGZIP(file_VISSv3_0_proto_rawDescData) + }) + return file_VISSv3_0_proto_rawDescData +} + +var file_VISSv3_0_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_VISSv3_0_proto_msgTypes = make([]protoimpl.MessageInfo, 31) +var file_VISSv3_0_proto_goTypes = []interface{}{ + (ResponseStatus)(0), // 0: grpcProtobufMessages.ResponseStatus + (SubscribeResponseType)(0), // 1: grpcProtobufMessages.SubscribeResponseType + (MessageMethod)(0), // 2: grpcProtobufMessages.MessageMethod + (MessageType)(0), // 3: grpcProtobufMessages.MessageType + (FilterExpressions_FilterExpression_FilterVariant)(0), // 4: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterVariant + (*ErrorResponseMessage)(nil), // 5: grpcProtobufMessages.ErrorResponseMessage + (*FilterExpressions)(nil), // 6: grpcProtobufMessages.FilterExpressions + (*DataPackages)(nil), // 7: grpcProtobufMessages.DataPackages + (*GetRequestMessage)(nil), // 8: grpcProtobufMessages.GetRequestMessage + (*GetResponseMessage)(nil), // 9: grpcProtobufMessages.GetResponseMessage + (*SetRequestMessage)(nil), // 10: grpcProtobufMessages.SetRequestMessage + (*SetResponseMessage)(nil), // 11: grpcProtobufMessages.SetResponseMessage + (*SubscribeRequestMessage)(nil), // 12: grpcProtobufMessages.SubscribeRequestMessage + (*SubscribeStreamMessage)(nil), // 13: grpcProtobufMessages.SubscribeStreamMessage + (*UnsubscribeRequestMessage)(nil), // 14: grpcProtobufMessages.UnsubscribeRequestMessage + (*UnsubscribeResponseMessage)(nil), // 15: grpcProtobufMessages.UnsubscribeResponseMessage + (*ProtobufMessage)(nil), // 16: grpcProtobufMessages.ProtobufMessage + (*GetMessage)(nil), // 17: grpcProtobufMessages.GetMessage + (*SetMessage)(nil), // 18: grpcProtobufMessages.SetMessage + (*SubscribeMessage)(nil), // 19: grpcProtobufMessages.SubscribeMessage + (*UnsubscribeMessage)(nil), // 20: grpcProtobufMessages.UnsubscribeMessage + (*FilterExpressions_FilterExpression)(nil), // 21: grpcProtobufMessages.FilterExpressions.FilterExpression + (*FilterExpressions_FilterExpression_FilterValue)(nil), // 22: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue + (*FilterExpressions_FilterExpression_FilterValue_PathsValue)(nil), // 23: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.PathsValue + (*FilterExpressions_FilterExpression_FilterValue_TimebasedValue)(nil), // 24: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.TimebasedValue + (*FilterExpressions_FilterExpression_FilterValue_RangeValue)(nil), // 25: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.RangeValue + (*FilterExpressions_FilterExpression_FilterValue_ChangeValue)(nil), // 26: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ChangeValue + (*FilterExpressions_FilterExpression_FilterValue_CurvelogValue)(nil), // 27: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.CurvelogValue + (*FilterExpressions_FilterExpression_FilterValue_HistoryValue)(nil), // 28: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.HistoryValue + (*FilterExpressions_FilterExpression_FilterValue_MetadataValue)(nil), // 29: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.MetadataValue + (*DataPackages_DataPackage)(nil), // 30: grpcProtobufMessages.DataPackages.DataPackage + (*DataPackages_DataPackage_DataPoint)(nil), // 31: grpcProtobufMessages.DataPackages.DataPackage.DataPoint + (*GetResponseMessage_SuccessResponseMessage)(nil), // 32: grpcProtobufMessages.GetResponseMessage.SuccessResponseMessage + (*SubscribeStreamMessage_SubscribeResponseMessage)(nil), // 33: grpcProtobufMessages.SubscribeStreamMessage.SubscribeResponseMessage + (*SubscribeStreamMessage_SubscribeEventMessage)(nil), // 34: grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage + (*SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage)(nil), // 35: grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage.SuccessResponseMessage +} +var file_VISSv3_0_proto_depIdxs = []int32{ + 21, // 0: grpcProtobufMessages.FilterExpressions.FilterExp:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression + 30, // 1: grpcProtobufMessages.DataPackages.Data:type_name -> grpcProtobufMessages.DataPackages.DataPackage + 6, // 2: grpcProtobufMessages.GetRequestMessage.Filter:type_name -> grpcProtobufMessages.FilterExpressions + 0, // 3: grpcProtobufMessages.GetResponseMessage.Status:type_name -> grpcProtobufMessages.ResponseStatus + 32, // 4: grpcProtobufMessages.GetResponseMessage.SuccessResponse:type_name -> grpcProtobufMessages.GetResponseMessage.SuccessResponseMessage + 5, // 5: grpcProtobufMessages.GetResponseMessage.ErrorResponse:type_name -> grpcProtobufMessages.ErrorResponseMessage + 0, // 6: grpcProtobufMessages.SetResponseMessage.Status:type_name -> grpcProtobufMessages.ResponseStatus + 5, // 7: grpcProtobufMessages.SetResponseMessage.ErrorResponse:type_name -> grpcProtobufMessages.ErrorResponseMessage + 6, // 8: grpcProtobufMessages.SubscribeRequestMessage.Filter:type_name -> grpcProtobufMessages.FilterExpressions + 1, // 9: grpcProtobufMessages.SubscribeStreamMessage.MType:type_name -> grpcProtobufMessages.SubscribeResponseType + 0, // 10: grpcProtobufMessages.SubscribeStreamMessage.Status:type_name -> grpcProtobufMessages.ResponseStatus + 33, // 11: grpcProtobufMessages.SubscribeStreamMessage.Response:type_name -> grpcProtobufMessages.SubscribeStreamMessage.SubscribeResponseMessage + 34, // 12: grpcProtobufMessages.SubscribeStreamMessage.Event:type_name -> grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage + 0, // 13: grpcProtobufMessages.UnsubscribeResponseMessage.Status:type_name -> grpcProtobufMessages.ResponseStatus + 5, // 14: grpcProtobufMessages.UnsubscribeResponseMessage.ErrorResponse:type_name -> grpcProtobufMessages.ErrorResponseMessage + 2, // 15: grpcProtobufMessages.ProtobufMessage.Method:type_name -> grpcProtobufMessages.MessageMethod + 17, // 16: grpcProtobufMessages.ProtobufMessage.Get:type_name -> grpcProtobufMessages.GetMessage + 18, // 17: grpcProtobufMessages.ProtobufMessage.Set:type_name -> grpcProtobufMessages.SetMessage + 19, // 18: grpcProtobufMessages.ProtobufMessage.Subscribe:type_name -> grpcProtobufMessages.SubscribeMessage + 20, // 19: grpcProtobufMessages.ProtobufMessage.Unsubscribe:type_name -> grpcProtobufMessages.UnsubscribeMessage + 3, // 20: grpcProtobufMessages.GetMessage.MType:type_name -> grpcProtobufMessages.MessageType + 8, // 21: grpcProtobufMessages.GetMessage.Request:type_name -> grpcProtobufMessages.GetRequestMessage + 9, // 22: grpcProtobufMessages.GetMessage.Response:type_name -> grpcProtobufMessages.GetResponseMessage + 3, // 23: grpcProtobufMessages.SetMessage.MType:type_name -> grpcProtobufMessages.MessageType + 10, // 24: grpcProtobufMessages.SetMessage.Request:type_name -> grpcProtobufMessages.SetRequestMessage + 11, // 25: grpcProtobufMessages.SetMessage.Response:type_name -> grpcProtobufMessages.SetResponseMessage + 3, // 26: grpcProtobufMessages.SubscribeMessage.MType:type_name -> grpcProtobufMessages.MessageType + 12, // 27: grpcProtobufMessages.SubscribeMessage.Request:type_name -> grpcProtobufMessages.SubscribeRequestMessage + 13, // 28: grpcProtobufMessages.SubscribeMessage.Stream:type_name -> grpcProtobufMessages.SubscribeStreamMessage + 3, // 29: grpcProtobufMessages.UnsubscribeMessage.MType:type_name -> grpcProtobufMessages.MessageType + 14, // 30: grpcProtobufMessages.UnsubscribeMessage.Request:type_name -> grpcProtobufMessages.UnsubscribeRequestMessage + 15, // 31: grpcProtobufMessages.UnsubscribeMessage.Response:type_name -> grpcProtobufMessages.UnsubscribeResponseMessage + 4, // 32: grpcProtobufMessages.FilterExpressions.FilterExpression.Variant:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterVariant + 22, // 33: grpcProtobufMessages.FilterExpressions.FilterExpression.Value:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue + 23, // 34: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValuePaths:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.PathsValue + 24, // 35: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueTimebased:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.TimebasedValue + 25, // 36: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueRange:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.RangeValue + 26, // 37: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueChange:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ChangeValue + 27, // 38: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueCurvelog:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.CurvelogValue + 28, // 39: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueHistory:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.HistoryValue + 29, // 40: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueMetadata:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.MetadataValue + 31, // 41: grpcProtobufMessages.DataPackages.DataPackage.Dp:type_name -> grpcProtobufMessages.DataPackages.DataPackage.DataPoint + 7, // 42: grpcProtobufMessages.GetResponseMessage.SuccessResponseMessage.DataPack:type_name -> grpcProtobufMessages.DataPackages + 5, // 43: grpcProtobufMessages.SubscribeStreamMessage.SubscribeResponseMessage.ErrorResponse:type_name -> grpcProtobufMessages.ErrorResponseMessage + 35, // 44: grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage.SuccessResponse:type_name -> grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage.SuccessResponseMessage + 5, // 45: grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage.ErrorResponse:type_name -> grpcProtobufMessages.ErrorResponseMessage + 7, // 46: grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage.SuccessResponseMessage.DataPack:type_name -> grpcProtobufMessages.DataPackages + 8, // 47: grpcProtobufMessages.VISS.GetRequest:input_type -> grpcProtobufMessages.GetRequestMessage + 10, // 48: grpcProtobufMessages.VISS.SetRequest:input_type -> grpcProtobufMessages.SetRequestMessage + 12, // 49: grpcProtobufMessages.VISS.SubscribeRequest:input_type -> grpcProtobufMessages.SubscribeRequestMessage + 14, // 50: grpcProtobufMessages.VISS.UnsubscribeRequest:input_type -> grpcProtobufMessages.UnsubscribeRequestMessage + 9, // 51: grpcProtobufMessages.VISS.GetRequest:output_type -> grpcProtobufMessages.GetResponseMessage + 11, // 52: grpcProtobufMessages.VISS.SetRequest:output_type -> grpcProtobufMessages.SetResponseMessage + 13, // 53: grpcProtobufMessages.VISS.SubscribeRequest:output_type -> grpcProtobufMessages.SubscribeStreamMessage + 15, // 54: grpcProtobufMessages.VISS.UnsubscribeRequest:output_type -> grpcProtobufMessages.UnsubscribeResponseMessage + 51, // [51:55] is the sub-list for method output_type + 47, // [47:51] is the sub-list for method input_type + 47, // [47:47] is the sub-list for extension type_name + 47, // [47:47] is the sub-list for extension extendee + 0, // [0:47] is the sub-list for field type_name +} + +func init() { file_VISSv3_0_proto_init() } +func file_VISSv3_0_proto_init() { + if File_VISSv3_0_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_VISSv3_0_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ErrorResponseMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterExpressions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataPackages); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRequestMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetResponseMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetRequestMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetResponseMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeRequestMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeStreamMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnsubscribeRequestMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnsubscribeResponseMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProtobufMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnsubscribeMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterExpressions_FilterExpression); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterExpressions_FilterExpression_FilterValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterExpressions_FilterExpression_FilterValue_PathsValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterExpressions_FilterExpression_FilterValue_TimebasedValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterExpressions_FilterExpression_FilterValue_RangeValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterExpressions_FilterExpression_FilterValue_ChangeValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterExpressions_FilterExpression_FilterValue_CurvelogValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterExpressions_FilterExpression_FilterValue_HistoryValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FilterExpressions_FilterExpression_FilterValue_MetadataValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataPackages_DataPackage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataPackages_DataPackage_DataPoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetResponseMessage_SuccessResponseMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeStreamMessage_SubscribeResponseMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeStreamMessage_SubscribeEventMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_VISSv3_0_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_VISSv3_0_proto_msgTypes[0].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[3].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[5].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[6].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[7].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[8].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[9].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[10].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[11].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[12].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[13].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[14].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[15].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[17].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[27].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[28].OneofWrappers = []interface{}{} + file_VISSv3_0_proto_msgTypes[29].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_VISSv3_0_proto_rawDesc, + NumEnums: 5, + NumMessages: 31, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_VISSv3_0_proto_goTypes, + DependencyIndexes: file_VISSv3_0_proto_depIdxs, + EnumInfos: file_VISSv3_0_proto_enumTypes, + MessageInfos: file_VISSv3_0_proto_msgTypes, + }.Build() + File_VISSv3_0_proto = out.File + file_VISSv3_0_proto_rawDesc = nil + file_VISSv3_0_proto_goTypes = nil + file_VISSv3_0_proto_depIdxs = nil +} diff --git a/grpc_pb/VISSv3.proto b/grpc_pb/VISSv3.0.proto similarity index 72% rename from grpc_pb/VISSv3.proto rename to grpc_pb/VISSv3.0.proto index 72d1ad86..7d24e068 100644 --- a/grpc_pb/VISSv3.proto +++ b/grpc_pb/VISSv3.0.proto @@ -1,5 +1,5 @@ /** -* (C) 2023 Ford Motor Company +* (C) 2024 Ford Motor Company * (C) 2021 Geotab * * All files and artifacts in the repository at https://github.com/covesa/vissr @@ -19,11 +19,11 @@ enum ResponseStatus { } enum SubscribeResponseType { - RESPONSE = 0; - EVENT = 1; + SUB_RESPONSE = 0; + SUB_EVENT = 1; } -service VISSv2 { +service VISS { rpc GetRequest (GetRequestMessage) returns (GetResponseMessage); rpc SetRequest (SetRequestMessage) returns (SetResponseMessage); @@ -41,7 +41,7 @@ message ErrorResponseMessage { message FilterExpressions { message FilterExpression { - enum FilterType { + enum FilterVariant { PATHS = 0; TIMEBASED = 1; RANGE = 2; @@ -50,7 +50,7 @@ message FilterExpressions { HISTORY = 5; METADATA = 6; } - FilterType FType = 1; + FilterVariant Variant = 1; message FilterValue { message PathsValue { @@ -98,15 +98,13 @@ message FilterExpressions { message DataPackages { message DataPackage { - optional string Path = 1; - optional int32 PathC = 2; + string Path = 1; message DataPoint { string Value = 1; - optional string Ts = 2; - optional int32 TsC = 3; + string Ts = 2; } - repeated DataPoint Dp = 3; + repeated DataPoint Dp = 2; } repeated DataPackage Data = 1; } @@ -115,7 +113,8 @@ message GetRequestMessage { string Path = 1; optional FilterExpressions Filter = 2; optional string Authorization = 3; - optional string RequestId = 4; + optional string DataCompression = 4; + optional string RequestId = 5; } message GetResponseMessage { @@ -127,9 +126,8 @@ message GetResponseMessage { optional SuccessResponseMessage SuccessResponse = 2; optional ErrorResponseMessage ErrorResponse = 3; optional string RequestId = 4; - optional string Ts = 5; - optional int32 TsC = 6; - optional string Authorization = 7; + string Ts = 5; + optional string Authorization = 6; } message SetRequestMessage { @@ -151,7 +149,8 @@ message SubscribeRequestMessage { string Path = 1; optional FilterExpressions Filter = 2; optional string Authorization = 3; - string RequestId = 4; + optional string DataCompression = 4; + string RequestId = 5; } message SubscribeStreamMessage { @@ -174,8 +173,7 @@ message SubscribeStreamMessage { } optional SuccessResponseMessage SuccessResponse = 2; optional ErrorResponseMessage ErrorResponse = 3; - optional string Ts = 4; - optional int32 TsC = 5; + string Ts = 4; } optional SubscribeEventMessage Event = 4; } @@ -186,9 +184,55 @@ message UnsubscribeRequestMessage { } message UnsubscribeResponseMessage { - string SubscriptionId = 1; - ResponseStatus Status = 2; - optional ErrorResponseMessage ErrorResponse = 3; - optional string RequestId = 4; - string Ts = 5; + ResponseStatus Status = 1; + optional ErrorResponseMessage ErrorResponse = 2; + optional string RequestId = 3; + string Ts = 4; +} + +// ********** For non-gRPC usage of protobuf *********** + +enum MessageMethod { + GET = 0; + SET = 1; + SUBSCRIBE = 2; + UNSUBSCRIBE = 3; +} + +enum MessageType { + REQUEST = 0; + RESPONSE = 1; + STREAM = 2; +} + +message ProtobufMessage { + MessageMethod Method = 1; + optional GetMessage Get = 2; + optional SetMessage Set = 3; + optional SubscribeMessage Subscribe = 4; + optional UnsubscribeMessage Unsubscribe = 5; +} + +message GetMessage { + MessageType MType = 1; + optional GetRequestMessage Request = 2; + optional GetResponseMessage Response = 3; +} + +message SetMessage { + MessageType MType = 1; + optional SetRequestMessage Request = 2; + optional SetResponseMessage Response = 3; +} + +message SubscribeMessage { + MessageType MType = 1; + optional SubscribeRequestMessage Request = 2; + optional SubscribeStreamMessage Stream = 3; +} + +message UnsubscribeMessage { + MessageType MType = 1; + optional UnsubscribeRequestMessage Request = 2; + optional UnsubscribeResponseMessage Response = 3; } diff --git a/grpc_pb/VISSv3.0_grpc.pb.go b/grpc_pb/VISSv3.0_grpc.pb.go new file mode 100644 index 00000000..178ee743 --- /dev/null +++ b/grpc_pb/VISSv3.0_grpc.pb.go @@ -0,0 +1,241 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.15.8 +// source: VISSv3.0.proto + +package __ + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// VISSClient is the client API for VISS service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type VISSClient interface { + GetRequest(ctx context.Context, in *GetRequestMessage, opts ...grpc.CallOption) (*GetResponseMessage, error) + SetRequest(ctx context.Context, in *SetRequestMessage, opts ...grpc.CallOption) (*SetResponseMessage, error) + SubscribeRequest(ctx context.Context, in *SubscribeRequestMessage, opts ...grpc.CallOption) (VISS_SubscribeRequestClient, error) + UnsubscribeRequest(ctx context.Context, in *UnsubscribeRequestMessage, opts ...grpc.CallOption) (*UnsubscribeResponseMessage, error) +} + +type vISSClient struct { + cc grpc.ClientConnInterface +} + +func NewVISSClient(cc grpc.ClientConnInterface) VISSClient { + return &vISSClient{cc} +} + +func (c *vISSClient) GetRequest(ctx context.Context, in *GetRequestMessage, opts ...grpc.CallOption) (*GetResponseMessage, error) { + out := new(GetResponseMessage) + err := c.cc.Invoke(ctx, "/grpcProtobufMessages.VISS/GetRequest", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vISSClient) SetRequest(ctx context.Context, in *SetRequestMessage, opts ...grpc.CallOption) (*SetResponseMessage, error) { + out := new(SetResponseMessage) + err := c.cc.Invoke(ctx, "/grpcProtobufMessages.VISS/SetRequest", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vISSClient) SubscribeRequest(ctx context.Context, in *SubscribeRequestMessage, opts ...grpc.CallOption) (VISS_SubscribeRequestClient, error) { + stream, err := c.cc.NewStream(ctx, &VISS_ServiceDesc.Streams[0], "/grpcProtobufMessages.VISS/SubscribeRequest", opts...) + if err != nil { + return nil, err + } + x := &vISSSubscribeRequestClient{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 VISS_SubscribeRequestClient interface { + Recv() (*SubscribeStreamMessage, error) + grpc.ClientStream +} + +type vISSSubscribeRequestClient struct { + grpc.ClientStream +} + +func (x *vISSSubscribeRequestClient) Recv() (*SubscribeStreamMessage, error) { + m := new(SubscribeStreamMessage) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *vISSClient) UnsubscribeRequest(ctx context.Context, in *UnsubscribeRequestMessage, opts ...grpc.CallOption) (*UnsubscribeResponseMessage, error) { + out := new(UnsubscribeResponseMessage) + err := c.cc.Invoke(ctx, "/grpcProtobufMessages.VISS/UnsubscribeRequest", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// VISSServer is the server API for VISS service. +// All implementations must embed UnimplementedVISSServer +// for forward compatibility +type VISSServer interface { + GetRequest(context.Context, *GetRequestMessage) (*GetResponseMessage, error) + SetRequest(context.Context, *SetRequestMessage) (*SetResponseMessage, error) + SubscribeRequest(*SubscribeRequestMessage, VISS_SubscribeRequestServer) error + UnsubscribeRequest(context.Context, *UnsubscribeRequestMessage) (*UnsubscribeResponseMessage, error) + mustEmbedUnimplementedVISSServer() +} + +// UnimplementedVISSServer must be embedded to have forward compatible implementations. +type UnimplementedVISSServer struct { +} + +func (UnimplementedVISSServer) GetRequest(context.Context, *GetRequestMessage) (*GetResponseMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRequest not implemented") +} +func (UnimplementedVISSServer) SetRequest(context.Context, *SetRequestMessage) (*SetResponseMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetRequest not implemented") +} +func (UnimplementedVISSServer) SubscribeRequest(*SubscribeRequestMessage, VISS_SubscribeRequestServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeRequest not implemented") +} +func (UnimplementedVISSServer) UnsubscribeRequest(context.Context, *UnsubscribeRequestMessage) (*UnsubscribeResponseMessage, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnsubscribeRequest not implemented") +} +func (UnimplementedVISSServer) mustEmbedUnimplementedVISSServer() {} + +// UnsafeVISSServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to VISSServer will +// result in compilation errors. +type UnsafeVISSServer interface { + mustEmbedUnimplementedVISSServer() +} + +func RegisterVISSServer(s grpc.ServiceRegistrar, srv VISSServer) { + s.RegisterService(&VISS_ServiceDesc, srv) +} + +func _VISS_GetRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRequestMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VISSServer).GetRequest(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpcProtobufMessages.VISS/GetRequest", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VISSServer).GetRequest(ctx, req.(*GetRequestMessage)) + } + return interceptor(ctx, in, info, handler) +} + +func _VISS_SetRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetRequestMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VISSServer).SetRequest(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpcProtobufMessages.VISS/SetRequest", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VISSServer).SetRequest(ctx, req.(*SetRequestMessage)) + } + return interceptor(ctx, in, info, handler) +} + +func _VISS_SubscribeRequest_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeRequestMessage) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(VISSServer).SubscribeRequest(m, &vISSSubscribeRequestServer{stream}) +} + +type VISS_SubscribeRequestServer interface { + Send(*SubscribeStreamMessage) error + grpc.ServerStream +} + +type vISSSubscribeRequestServer struct { + grpc.ServerStream +} + +func (x *vISSSubscribeRequestServer) Send(m *SubscribeStreamMessage) error { + return x.ServerStream.SendMsg(m) +} + +func _VISS_UnsubscribeRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnsubscribeRequestMessage) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VISSServer).UnsubscribeRequest(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/grpcProtobufMessages.VISS/UnsubscribeRequest", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VISSServer).UnsubscribeRequest(ctx, req.(*UnsubscribeRequestMessage)) + } + return interceptor(ctx, in, info, handler) +} + +// VISS_ServiceDesc is the grpc.ServiceDesc for VISS service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var VISS_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "grpcProtobufMessages.VISS", + HandlerType: (*VISSServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetRequest", + Handler: _VISS_GetRequest_Handler, + }, + { + MethodName: "SetRequest", + Handler: _VISS_SetRequest_Handler, + }, + { + MethodName: "UnsubscribeRequest", + Handler: _VISS_UnsubscribeRequest_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "SubscribeRequest", + Handler: _VISS_SubscribeRequest_Handler, + ServerStreams: true, + }, + }, + Metadata: "VISSv3.0.proto", +} diff --git a/grpc_pb/VISSv3.pb.go b/grpc_pb/VISSv3.pb.go deleted file mode 100644 index db52a720..00000000 --- a/grpc_pb/VISSv3.pb.go +++ /dev/null @@ -1,2648 +0,0 @@ -//* -// (C) 2023 Ford Motor Company -// (C) 2021 Geotab -// -// All files and artifacts in the repository at https://github.com/covesa/vissr -// are licensed under the provisions of the license provided by the LICENSE file in this repository. -// - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v3.15.8 -// source: VISSv3.proto - -package __ - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - 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 ResponseStatus int32 - -const ( - ResponseStatus_SUCCESS ResponseStatus = 0 - ResponseStatus_ERROR ResponseStatus = 1 -) - -// Enum value maps for ResponseStatus. -var ( - ResponseStatus_name = map[int32]string{ - 0: "SUCCESS", - 1: "ERROR", - } - ResponseStatus_value = map[string]int32{ - "SUCCESS": 0, - "ERROR": 1, - } -) - -func (x ResponseStatus) Enum() *ResponseStatus { - p := new(ResponseStatus) - *p = x - return p -} - -func (x ResponseStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ResponseStatus) Descriptor() protoreflect.EnumDescriptor { - return file_VISSv3_proto_enumTypes[0].Descriptor() -} - -func (ResponseStatus) Type() protoreflect.EnumType { - return &file_VISSv3_proto_enumTypes[0] -} - -func (x ResponseStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ResponseStatus.Descriptor instead. -func (ResponseStatus) EnumDescriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{0} -} - -type SubscribeResponseType int32 - -const ( - SubscribeResponseType_RESPONSE SubscribeResponseType = 0 - SubscribeResponseType_EVENT SubscribeResponseType = 1 -) - -// Enum value maps for SubscribeResponseType. -var ( - SubscribeResponseType_name = map[int32]string{ - 0: "RESPONSE", - 1: "EVENT", - } - SubscribeResponseType_value = map[string]int32{ - "RESPONSE": 0, - "EVENT": 1, - } -) - -func (x SubscribeResponseType) Enum() *SubscribeResponseType { - p := new(SubscribeResponseType) - *p = x - return p -} - -func (x SubscribeResponseType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SubscribeResponseType) Descriptor() protoreflect.EnumDescriptor { - return file_VISSv3_proto_enumTypes[1].Descriptor() -} - -func (SubscribeResponseType) Type() protoreflect.EnumType { - return &file_VISSv3_proto_enumTypes[1] -} - -func (x SubscribeResponseType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SubscribeResponseType.Descriptor instead. -func (SubscribeResponseType) EnumDescriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1} -} - -type FilterExpressions_FilterExpression_FilterType int32 - -const ( - FilterExpressions_FilterExpression_PATHS FilterExpressions_FilterExpression_FilterType = 0 - FilterExpressions_FilterExpression_TIMEBASED FilterExpressions_FilterExpression_FilterType = 1 - FilterExpressions_FilterExpression_RANGE FilterExpressions_FilterExpression_FilterType = 2 - FilterExpressions_FilterExpression_CHANGE FilterExpressions_FilterExpression_FilterType = 3 - FilterExpressions_FilterExpression_CURVELOG FilterExpressions_FilterExpression_FilterType = 4 - FilterExpressions_FilterExpression_HISTORY FilterExpressions_FilterExpression_FilterType = 5 - FilterExpressions_FilterExpression_METADATA FilterExpressions_FilterExpression_FilterType = 6 -) - -// Enum value maps for FilterExpressions_FilterExpression_FilterType. -var ( - FilterExpressions_FilterExpression_FilterType_name = map[int32]string{ - 0: "PATHS", - 1: "TIMEBASED", - 2: "RANGE", - 3: "CHANGE", - 4: "CURVELOG", - 5: "HISTORY", - 6: "METADATA", - } - FilterExpressions_FilterExpression_FilterType_value = map[string]int32{ - "PATHS": 0, - "TIMEBASED": 1, - "RANGE": 2, - "CHANGE": 3, - "CURVELOG": 4, - "HISTORY": 5, - "METADATA": 6, - } -) - -func (x FilterExpressions_FilterExpression_FilterType) Enum() *FilterExpressions_FilterExpression_FilterType { - p := new(FilterExpressions_FilterExpression_FilterType) - *p = x - return p -} - -func (x FilterExpressions_FilterExpression_FilterType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (FilterExpressions_FilterExpression_FilterType) Descriptor() protoreflect.EnumDescriptor { - return file_VISSv3_proto_enumTypes[2].Descriptor() -} - -func (FilterExpressions_FilterExpression_FilterType) Type() protoreflect.EnumType { - return &file_VISSv3_proto_enumTypes[2] -} - -func (x FilterExpressions_FilterExpression_FilterType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use FilterExpressions_FilterExpression_FilterType.Descriptor instead. -func (FilterExpressions_FilterExpression_FilterType) EnumDescriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1, 0, 0} -} - -type ErrorResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Number string `protobuf:"bytes,1,opt,name=Number,proto3" json:"Number,omitempty"` - Reason *string `protobuf:"bytes,2,opt,name=Reason,proto3,oneof" json:"Reason,omitempty"` - Message *string `protobuf:"bytes,3,opt,name=Message,proto3,oneof" json:"Message,omitempty"` -} - -func (x *ErrorResponseMessage) Reset() { - *x = ErrorResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ErrorResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ErrorResponseMessage) ProtoMessage() {} - -func (x *ErrorResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 ErrorResponseMessage.ProtoReflect.Descriptor instead. -func (*ErrorResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{0} -} - -func (x *ErrorResponseMessage) GetNumber() string { - if x != nil { - return x.Number - } - return "" -} - -func (x *ErrorResponseMessage) GetReason() string { - if x != nil && x.Reason != nil { - return *x.Reason - } - return "" -} - -func (x *ErrorResponseMessage) GetMessage() string { - if x != nil && x.Message != nil { - return *x.Message - } - return "" -} - -type FilterExpressions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FilterExp []*FilterExpressions_FilterExpression `protobuf:"bytes,1,rep,name=FilterExp,proto3" json:"FilterExp,omitempty"` -} - -func (x *FilterExpressions) Reset() { - *x = FilterExpressions{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions) ProtoMessage() {} - -func (x *FilterExpressions) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 FilterExpressions.ProtoReflect.Descriptor instead. -func (*FilterExpressions) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1} -} - -func (x *FilterExpressions) GetFilterExp() []*FilterExpressions_FilterExpression { - if x != nil { - return x.FilterExp - } - return nil -} - -type DataPackages struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Data []*DataPackages_DataPackage `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` -} - -func (x *DataPackages) Reset() { - *x = DataPackages{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DataPackages) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DataPackages) ProtoMessage() {} - -func (x *DataPackages) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 DataPackages.ProtoReflect.Descriptor instead. -func (*DataPackages) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{2} -} - -func (x *DataPackages) GetData() []*DataPackages_DataPackage { - if x != nil { - return x.Data - } - return nil -} - -type GetRequestMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` - Filter *FilterExpressions `protobuf:"bytes,2,opt,name=Filter,proto3,oneof" json:"Filter,omitempty"` - Authorization *string `protobuf:"bytes,3,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` - RequestId *string `protobuf:"bytes,4,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` -} - -func (x *GetRequestMessage) Reset() { - *x = GetRequestMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetRequestMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetRequestMessage) ProtoMessage() {} - -func (x *GetRequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 GetRequestMessage.ProtoReflect.Descriptor instead. -func (*GetRequestMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{3} -} - -func (x *GetRequestMessage) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *GetRequestMessage) GetFilter() *FilterExpressions { - if x != nil { - return x.Filter - } - return nil -} - -func (x *GetRequestMessage) GetAuthorization() string { - if x != nil && x.Authorization != nil { - return *x.Authorization - } - return "" -} - -func (x *GetRequestMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -type GetResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status ResponseStatus `protobuf:"varint,1,opt,name=Status,proto3,enum=grpcProtobufMessages.ResponseStatus" json:"Status,omitempty"` - SuccessResponse *GetResponseMessage_SuccessResponseMessage `protobuf:"bytes,2,opt,name=SuccessResponse,proto3,oneof" json:"SuccessResponse,omitempty"` - ErrorResponse *ErrorResponseMessage `protobuf:"bytes,3,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` - RequestId *string `protobuf:"bytes,4,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` - Ts *string `protobuf:"bytes,5,opt,name=Ts,proto3,oneof" json:"Ts,omitempty"` - TsC *int32 `protobuf:"varint,6,opt,name=TsC,proto3,oneof" json:"TsC,omitempty"` - Authorization *string `protobuf:"bytes,7,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` -} - -func (x *GetResponseMessage) Reset() { - *x = GetResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetResponseMessage) ProtoMessage() {} - -func (x *GetResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 GetResponseMessage.ProtoReflect.Descriptor instead. -func (*GetResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{4} -} - -func (x *GetResponseMessage) GetStatus() ResponseStatus { - if x != nil { - return x.Status - } - return ResponseStatus_SUCCESS -} - -func (x *GetResponseMessage) GetSuccessResponse() *GetResponseMessage_SuccessResponseMessage { - if x != nil { - return x.SuccessResponse - } - return nil -} - -func (x *GetResponseMessage) GetErrorResponse() *ErrorResponseMessage { - if x != nil { - return x.ErrorResponse - } - return nil -} - -func (x *GetResponseMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -func (x *GetResponseMessage) GetTs() string { - if x != nil && x.Ts != nil { - return *x.Ts - } - return "" -} - -func (x *GetResponseMessage) GetTsC() int32 { - if x != nil && x.TsC != nil { - return *x.TsC - } - return 0 -} - -func (x *GetResponseMessage) GetAuthorization() string { - if x != nil && x.Authorization != nil { - return *x.Authorization - } - return "" -} - -type SetRequestMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` - Value string `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"` - Authorization *string `protobuf:"bytes,3,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` - RequestId *string `protobuf:"bytes,4,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` -} - -func (x *SetRequestMessage) Reset() { - *x = SetRequestMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetRequestMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetRequestMessage) ProtoMessage() {} - -func (x *SetRequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 SetRequestMessage.ProtoReflect.Descriptor instead. -func (*SetRequestMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{5} -} - -func (x *SetRequestMessage) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *SetRequestMessage) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -func (x *SetRequestMessage) GetAuthorization() string { - if x != nil && x.Authorization != nil { - return *x.Authorization - } - return "" -} - -func (x *SetRequestMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -type SetResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status ResponseStatus `protobuf:"varint,1,opt,name=Status,proto3,enum=grpcProtobufMessages.ResponseStatus" json:"Status,omitempty"` - ErrorResponse *ErrorResponseMessage `protobuf:"bytes,2,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` - RequestId *string `protobuf:"bytes,3,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` - Ts string `protobuf:"bytes,4,opt,name=Ts,proto3" json:"Ts,omitempty"` - Authorization *string `protobuf:"bytes,5,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` -} - -func (x *SetResponseMessage) Reset() { - *x = SetResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetResponseMessage) ProtoMessage() {} - -func (x *SetResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 SetResponseMessage.ProtoReflect.Descriptor instead. -func (*SetResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{6} -} - -func (x *SetResponseMessage) GetStatus() ResponseStatus { - if x != nil { - return x.Status - } - return ResponseStatus_SUCCESS -} - -func (x *SetResponseMessage) GetErrorResponse() *ErrorResponseMessage { - if x != nil { - return x.ErrorResponse - } - return nil -} - -func (x *SetResponseMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -func (x *SetResponseMessage) GetTs() string { - if x != nil { - return x.Ts - } - return "" -} - -func (x *SetResponseMessage) GetAuthorization() string { - if x != nil && x.Authorization != nil { - return *x.Authorization - } - return "" -} - -type SubscribeRequestMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` - Filter *FilterExpressions `protobuf:"bytes,2,opt,name=Filter,proto3,oneof" json:"Filter,omitempty"` - Authorization *string `protobuf:"bytes,3,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` - RequestId string `protobuf:"bytes,4,opt,name=RequestId,proto3" json:"RequestId,omitempty"` -} - -func (x *SubscribeRequestMessage) Reset() { - *x = SubscribeRequestMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeRequestMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeRequestMessage) ProtoMessage() {} - -func (x *SubscribeRequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 SubscribeRequestMessage.ProtoReflect.Descriptor instead. -func (*SubscribeRequestMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{7} -} - -func (x *SubscribeRequestMessage) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *SubscribeRequestMessage) GetFilter() *FilterExpressions { - if x != nil { - return x.Filter - } - return nil -} - -func (x *SubscribeRequestMessage) GetAuthorization() string { - if x != nil && x.Authorization != nil { - return *x.Authorization - } - return "" -} - -func (x *SubscribeRequestMessage) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -type SubscribeStreamMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MType SubscribeResponseType `protobuf:"varint,1,opt,name=MType,proto3,enum=grpcProtobufMessages.SubscribeResponseType" json:"MType,omitempty"` - Status ResponseStatus `protobuf:"varint,2,opt,name=Status,proto3,enum=grpcProtobufMessages.ResponseStatus" json:"Status,omitempty"` - Response *SubscribeStreamMessage_SubscribeResponseMessage `protobuf:"bytes,3,opt,name=Response,proto3,oneof" json:"Response,omitempty"` - Event *SubscribeStreamMessage_SubscribeEventMessage `protobuf:"bytes,4,opt,name=Event,proto3,oneof" json:"Event,omitempty"` -} - -func (x *SubscribeStreamMessage) Reset() { - *x = SubscribeStreamMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeStreamMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeStreamMessage) ProtoMessage() {} - -func (x *SubscribeStreamMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 SubscribeStreamMessage.ProtoReflect.Descriptor instead. -func (*SubscribeStreamMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{8} -} - -func (x *SubscribeStreamMessage) GetMType() SubscribeResponseType { - if x != nil { - return x.MType - } - return SubscribeResponseType_RESPONSE -} - -func (x *SubscribeStreamMessage) GetStatus() ResponseStatus { - if x != nil { - return x.Status - } - return ResponseStatus_SUCCESS -} - -func (x *SubscribeStreamMessage) GetResponse() *SubscribeStreamMessage_SubscribeResponseMessage { - if x != nil { - return x.Response - } - return nil -} - -func (x *SubscribeStreamMessage) GetEvent() *SubscribeStreamMessage_SubscribeEventMessage { - if x != nil { - return x.Event - } - return nil -} - -type UnsubscribeRequestMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SubscriptionId string `protobuf:"bytes,1,opt,name=SubscriptionId,proto3" json:"SubscriptionId,omitempty"` - RequestId *string `protobuf:"bytes,2,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` -} - -func (x *UnsubscribeRequestMessage) Reset() { - *x = UnsubscribeRequestMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnsubscribeRequestMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnsubscribeRequestMessage) ProtoMessage() {} - -func (x *UnsubscribeRequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 UnsubscribeRequestMessage.ProtoReflect.Descriptor instead. -func (*UnsubscribeRequestMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{9} -} - -func (x *UnsubscribeRequestMessage) GetSubscriptionId() string { - if x != nil { - return x.SubscriptionId - } - return "" -} - -func (x *UnsubscribeRequestMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -type UnsubscribeResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SubscriptionId string `protobuf:"bytes,1,opt,name=SubscriptionId,proto3" json:"SubscriptionId,omitempty"` - Status ResponseStatus `protobuf:"varint,2,opt,name=Status,proto3,enum=grpcProtobufMessages.ResponseStatus" json:"Status,omitempty"` - ErrorResponse *ErrorResponseMessage `protobuf:"bytes,3,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` - RequestId *string `protobuf:"bytes,4,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` - Ts string `protobuf:"bytes,5,opt,name=Ts,proto3" json:"Ts,omitempty"` -} - -func (x *UnsubscribeResponseMessage) Reset() { - *x = UnsubscribeResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnsubscribeResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnsubscribeResponseMessage) ProtoMessage() {} - -func (x *UnsubscribeResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 UnsubscribeResponseMessage.ProtoReflect.Descriptor instead. -func (*UnsubscribeResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{10} -} - -func (x *UnsubscribeResponseMessage) GetSubscriptionId() string { - if x != nil { - return x.SubscriptionId - } - return "" -} - -func (x *UnsubscribeResponseMessage) GetStatus() ResponseStatus { - if x != nil { - return x.Status - } - return ResponseStatus_SUCCESS -} - -func (x *UnsubscribeResponseMessage) GetErrorResponse() *ErrorResponseMessage { - if x != nil { - return x.ErrorResponse - } - return nil -} - -func (x *UnsubscribeResponseMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -func (x *UnsubscribeResponseMessage) GetTs() string { - if x != nil { - return x.Ts - } - return "" -} - -type FilterExpressions_FilterExpression struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FType FilterExpressions_FilterExpression_FilterType `protobuf:"varint,1,opt,name=FType,proto3,enum=grpcProtobufMessages.FilterExpressions_FilterExpression_FilterType" json:"FType,omitempty"` - Value *FilterExpressions_FilterExpression_FilterValue `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"` -} - -func (x *FilterExpressions_FilterExpression) Reset() { - *x = FilterExpressions_FilterExpression{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 FilterExpressions_FilterExpression.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1, 0} -} - -func (x *FilterExpressions_FilterExpression) GetFType() FilterExpressions_FilterExpression_FilterType { - if x != nil { - return x.FType - } - return FilterExpressions_FilterExpression_PATHS -} - -func (x *FilterExpressions_FilterExpression) GetValue() *FilterExpressions_FilterExpression_FilterValue { - if x != nil { - return x.Value - } - return nil -} - -type FilterExpressions_FilterExpression_FilterValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ValuePaths *FilterExpressions_FilterExpression_FilterValue_PathsValue `protobuf:"bytes,1,opt,name=ValuePaths,proto3,oneof" json:"ValuePaths,omitempty"` - ValueTimebased *FilterExpressions_FilterExpression_FilterValue_TimebasedValue `protobuf:"bytes,2,opt,name=ValueTimebased,proto3,oneof" json:"ValueTimebased,omitempty"` - ValueRange []*FilterExpressions_FilterExpression_FilterValue_RangeValue `protobuf:"bytes,3,rep,name=ValueRange,proto3" json:"ValueRange,omitempty"` - ValueChange *FilterExpressions_FilterExpression_FilterValue_ChangeValue `protobuf:"bytes,4,opt,name=ValueChange,proto3,oneof" json:"ValueChange,omitempty"` - ValueCurvelog *FilterExpressions_FilterExpression_FilterValue_CurvelogValue `protobuf:"bytes,5,opt,name=ValueCurvelog,proto3,oneof" json:"ValueCurvelog,omitempty"` - ValueHistory *FilterExpressions_FilterExpression_FilterValue_HistoryValue `protobuf:"bytes,6,opt,name=ValueHistory,proto3,oneof" json:"ValueHistory,omitempty"` - ValueMetadata *FilterExpressions_FilterExpression_FilterValue_MetadataValue `protobuf:"bytes,7,opt,name=ValueMetadata,proto3,oneof" json:"ValueMetadata,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FilterExpressions_FilterExpression_FilterValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1, 0, 0} -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValuePaths() *FilterExpressions_FilterExpression_FilterValue_PathsValue { - if x != nil { - return x.ValuePaths - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueTimebased() *FilterExpressions_FilterExpression_FilterValue_TimebasedValue { - if x != nil { - return x.ValueTimebased - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueRange() []*FilterExpressions_FilterExpression_FilterValue_RangeValue { - if x != nil { - return x.ValueRange - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueChange() *FilterExpressions_FilterExpression_FilterValue_ChangeValue { - if x != nil { - return x.ValueChange - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueCurvelog() *FilterExpressions_FilterExpression_FilterValue_CurvelogValue { - if x != nil { - return x.ValueCurvelog - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueHistory() *FilterExpressions_FilterExpression_FilterValue_HistoryValue { - if x != nil { - return x.ValueHistory - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueMetadata() *FilterExpressions_FilterExpression_FilterValue_MetadataValue { - if x != nil { - return x.ValueMetadata - } - return nil -} - -type FilterExpressions_FilterExpression_FilterValue_PathsValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RelativePath []string `protobuf:"bytes,1,rep,name=RelativePath,proto3" json:"RelativePath,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_PathsValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_PathsValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FilterExpressions_FilterExpression_FilterValue_PathsValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_PathsValue) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1, 0, 0, 0} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) GetRelativePath() []string { - if x != nil { - return x.RelativePath - } - return nil -} - -type FilterExpressions_FilterExpression_FilterValue_TimebasedValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Period string `protobuf:"bytes,1,opt,name=Period,proto3" json:"Period,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_TimebasedValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_TimebasedValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FilterExpressions_FilterExpression_FilterValue_TimebasedValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_TimebasedValue) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1, 0, 0, 1} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) GetPeriod() string { - if x != nil { - return x.Period - } - return "" -} - -type FilterExpressions_FilterExpression_FilterValue_RangeValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LogicOperator string `protobuf:"bytes,1,opt,name=LogicOperator,proto3" json:"LogicOperator,omitempty"` - Boundary string `protobuf:"bytes,2,opt,name=Boundary,proto3" json:"Boundary,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_RangeValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_RangeValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[15] - 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 FilterExpressions_FilterExpression_FilterValue_RangeValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_RangeValue) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1, 0, 0, 2} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) GetLogicOperator() string { - if x != nil { - return x.LogicOperator - } - return "" -} - -func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) GetBoundary() string { - if x != nil { - return x.Boundary - } - return "" -} - -type FilterExpressions_FilterExpression_FilterValue_ChangeValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LogicOperator string `protobuf:"bytes,1,opt,name=LogicOperator,proto3" json:"LogicOperator,omitempty"` - Diff string `protobuf:"bytes,2,opt,name=Diff,proto3" json:"Diff,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_ChangeValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_ChangeValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[16] - 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 FilterExpressions_FilterExpression_FilterValue_ChangeValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_ChangeValue) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1, 0, 0, 3} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) GetLogicOperator() string { - if x != nil { - return x.LogicOperator - } - return "" -} - -func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) GetDiff() string { - if x != nil { - return x.Diff - } - return "" -} - -type FilterExpressions_FilterExpression_FilterValue_CurvelogValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MaxErr string `protobuf:"bytes,1,opt,name=MaxErr,proto3" json:"MaxErr,omitempty"` - BufSize string `protobuf:"bytes,2,opt,name=BufSize,proto3" json:"BufSize,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_CurvelogValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_CurvelogValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[17] - 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 FilterExpressions_FilterExpression_FilterValue_CurvelogValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_CurvelogValue) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1, 0, 0, 4} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) GetMaxErr() string { - if x != nil { - return x.MaxErr - } - return "" -} - -func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) GetBufSize() string { - if x != nil { - return x.BufSize - } - return "" -} - -type FilterExpressions_FilterExpression_FilterValue_HistoryValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TimePeriod string `protobuf:"bytes,1,opt,name=TimePeriod,proto3" json:"TimePeriod,omitempty"` //ISO8601 period expression -} - -func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_HistoryValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_HistoryValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[18] - 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 FilterExpressions_FilterExpression_FilterValue_HistoryValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_HistoryValue) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1, 0, 0, 5} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) GetTimePeriod() string { - if x != nil { - return x.TimePeriod - } - return "" -} - -type FilterExpressions_FilterExpression_FilterValue_MetadataValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Tree string `protobuf:"bytes,1,opt,name=Tree,proto3" json:"Tree,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_MetadataValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_MetadataValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[19] - 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 FilterExpressions_FilterExpression_FilterValue_MetadataValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_MetadataValue) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{1, 0, 0, 6} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) GetTree() string { - if x != nil { - return x.Tree - } - return "" -} - -type DataPackages_DataPackage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path *string `protobuf:"bytes,1,opt,name=Path,proto3,oneof" json:"Path,omitempty"` - PathC *int32 `protobuf:"varint,2,opt,name=PathC,proto3,oneof" json:"PathC,omitempty"` - Dp []*DataPackages_DataPackage_DataPoint `protobuf:"bytes,3,rep,name=Dp,proto3" json:"Dp,omitempty"` -} - -func (x *DataPackages_DataPackage) Reset() { - *x = DataPackages_DataPackage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DataPackages_DataPackage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DataPackages_DataPackage) ProtoMessage() {} - -func (x *DataPackages_DataPackage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[20] - 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 DataPackages_DataPackage.ProtoReflect.Descriptor instead. -func (*DataPackages_DataPackage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{2, 0} -} - -func (x *DataPackages_DataPackage) GetPath() string { - if x != nil && x.Path != nil { - return *x.Path - } - return "" -} - -func (x *DataPackages_DataPackage) GetPathC() int32 { - if x != nil && x.PathC != nil { - return *x.PathC - } - return 0 -} - -func (x *DataPackages_DataPackage) GetDp() []*DataPackages_DataPackage_DataPoint { - if x != nil { - return x.Dp - } - return nil -} - -type DataPackages_DataPackage_DataPoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Value string `protobuf:"bytes,1,opt,name=Value,proto3" json:"Value,omitempty"` - Ts *string `protobuf:"bytes,2,opt,name=Ts,proto3,oneof" json:"Ts,omitempty"` - TsC *int32 `protobuf:"varint,3,opt,name=TsC,proto3,oneof" json:"TsC,omitempty"` -} - -func (x *DataPackages_DataPackage_DataPoint) Reset() { - *x = DataPackages_DataPackage_DataPoint{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DataPackages_DataPackage_DataPoint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DataPackages_DataPackage_DataPoint) ProtoMessage() {} - -func (x *DataPackages_DataPackage_DataPoint) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[21] - 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 DataPackages_DataPackage_DataPoint.ProtoReflect.Descriptor instead. -func (*DataPackages_DataPackage_DataPoint) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{2, 0, 0} -} - -func (x *DataPackages_DataPackage_DataPoint) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -func (x *DataPackages_DataPackage_DataPoint) GetTs() string { - if x != nil && x.Ts != nil { - return *x.Ts - } - return "" -} - -func (x *DataPackages_DataPackage_DataPoint) GetTsC() int32 { - if x != nil && x.TsC != nil { - return *x.TsC - } - return 0 -} - -type GetResponseMessage_SuccessResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DataPack *DataPackages `protobuf:"bytes,1,opt,name=DataPack,proto3,oneof" json:"DataPack,omitempty"` - Metadata *string `protobuf:"bytes,2,opt,name=Metadata,proto3,oneof" json:"Metadata,omitempty"` // replaces DataPack in metadata variant -} - -func (x *GetResponseMessage_SuccessResponseMessage) Reset() { - *x = GetResponseMessage_SuccessResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetResponseMessage_SuccessResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetResponseMessage_SuccessResponseMessage) ProtoMessage() {} - -func (x *GetResponseMessage_SuccessResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[22] - 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 GetResponseMessage_SuccessResponseMessage.ProtoReflect.Descriptor instead. -func (*GetResponseMessage_SuccessResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{4, 0} -} - -func (x *GetResponseMessage_SuccessResponseMessage) GetDataPack() *DataPackages { - if x != nil { - return x.DataPack - } - return nil -} - -func (x *GetResponseMessage_SuccessResponseMessage) GetMetadata() string { - if x != nil && x.Metadata != nil { - return *x.Metadata - } - return "" -} - -type SubscribeStreamMessage_SubscribeResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrorResponse *ErrorResponseMessage `protobuf:"bytes,1,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` - SubscriptionId *string `protobuf:"bytes,2,opt,name=SubscriptionId,proto3,oneof" json:"SubscriptionId,omitempty"` - RequestId string `protobuf:"bytes,3,opt,name=RequestId,proto3" json:"RequestId,omitempty"` - Ts string `protobuf:"bytes,4,opt,name=Ts,proto3" json:"Ts,omitempty"` - Authorization *string `protobuf:"bytes,5,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` -} - -func (x *SubscribeStreamMessage_SubscribeResponseMessage) Reset() { - *x = SubscribeStreamMessage_SubscribeResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeStreamMessage_SubscribeResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeStreamMessage_SubscribeResponseMessage) ProtoMessage() {} - -func (x *SubscribeStreamMessage_SubscribeResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 SubscribeStreamMessage_SubscribeResponseMessage.ProtoReflect.Descriptor instead. -func (*SubscribeStreamMessage_SubscribeResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{8, 0} -} - -func (x *SubscribeStreamMessage_SubscribeResponseMessage) GetErrorResponse() *ErrorResponseMessage { - if x != nil { - return x.ErrorResponse - } - return nil -} - -func (x *SubscribeStreamMessage_SubscribeResponseMessage) GetSubscriptionId() string { - if x != nil && x.SubscriptionId != nil { - return *x.SubscriptionId - } - return "" -} - -func (x *SubscribeStreamMessage_SubscribeResponseMessage) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -func (x *SubscribeStreamMessage_SubscribeResponseMessage) GetTs() string { - if x != nil { - return x.Ts - } - return "" -} - -func (x *SubscribeStreamMessage_SubscribeResponseMessage) GetAuthorization() string { - if x != nil && x.Authorization != nil { - return *x.Authorization - } - return "" -} - -type SubscribeStreamMessage_SubscribeEventMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SubscriptionId string `protobuf:"bytes,1,opt,name=SubscriptionId,proto3" json:"SubscriptionId,omitempty"` - SuccessResponse *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage `protobuf:"bytes,2,opt,name=SuccessResponse,proto3,oneof" json:"SuccessResponse,omitempty"` - ErrorResponse *ErrorResponseMessage `protobuf:"bytes,3,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` - Ts *string `protobuf:"bytes,4,opt,name=Ts,proto3,oneof" json:"Ts,omitempty"` - TsC *int32 `protobuf:"varint,5,opt,name=TsC,proto3,oneof" json:"TsC,omitempty"` -} - -func (x *SubscribeStreamMessage_SubscribeEventMessage) Reset() { - *x = SubscribeStreamMessage_SubscribeEventMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeStreamMessage_SubscribeEventMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeStreamMessage_SubscribeEventMessage) ProtoMessage() {} - -func (x *SubscribeStreamMessage_SubscribeEventMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_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 SubscribeStreamMessage_SubscribeEventMessage.ProtoReflect.Descriptor instead. -func (*SubscribeStreamMessage_SubscribeEventMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{8, 1} -} - -func (x *SubscribeStreamMessage_SubscribeEventMessage) GetSubscriptionId() string { - if x != nil { - return x.SubscriptionId - } - return "" -} - -func (x *SubscribeStreamMessage_SubscribeEventMessage) GetSuccessResponse() *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage { - if x != nil { - return x.SuccessResponse - } - return nil -} - -func (x *SubscribeStreamMessage_SubscribeEventMessage) GetErrorResponse() *ErrorResponseMessage { - if x != nil { - return x.ErrorResponse - } - return nil -} - -func (x *SubscribeStreamMessage_SubscribeEventMessage) GetTs() string { - if x != nil && x.Ts != nil { - return *x.Ts - } - return "" -} - -func (x *SubscribeStreamMessage_SubscribeEventMessage) GetTsC() int32 { - if x != nil && x.TsC != nil { - return *x.TsC - } - return 0 -} - -type SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DataPack *DataPackages `protobuf:"bytes,1,opt,name=DataPack,proto3" json:"DataPack,omitempty"` -} - -func (x *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) Reset() { - *x = SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) ProtoMessage() {} - -func (x *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3_proto_msgTypes[25] - 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 SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage.ProtoReflect.Descriptor instead. -func (*SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3_proto_rawDescGZIP(), []int{8, 1, 0} -} - -func (x *SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage) GetDataPack() *DataPackages { - if x != nil { - return x.DataPack - } - return nil -} - -var File_VISSv3_proto protoreflect.FileDescriptor - -var file_VISSv3_proto_rawDesc = []byte{ - 0x0a, 0x0c, 0x56, 0x49, 0x53, 0x53, 0x76, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, - 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x14, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x80, 0x0e, 0x0a, 0x11, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x56, - 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x1a, 0x92, 0x0d, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x05, 0x46, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x05, 0x46, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5a, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x1a, 0xde, 0x0a, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x74, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x50, 0x61, 0x74, - 0x68, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x50, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, 0x80, 0x01, 0x0a, 0x0e, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x53, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, - 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6f, 0x0a, 0x0a, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x4f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x77, 0x0a, 0x0b, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x50, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x48, 0x02, 0x52, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x7d, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x75, - 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x2e, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x48, 0x03, 0x52, 0x0d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, - 0x67, 0x88, 0x01, 0x01, 0x12, 0x7a, 0x0a, 0x0c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x04, 0x52, - 0x0c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x7d, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x05, 0x52, 0x0d, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x1a, - 0x30, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x68, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, - 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, - 0x68, 0x1a, 0x28, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0x4e, 0x0a, 0x0a, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, - 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x1a, 0x0a, 0x08, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x1a, 0x47, 0x0a, 0x0b, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4c, 0x6f, - 0x67, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x12, 0x0a, 0x04, 0x44, 0x69, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x44, 0x69, 0x66, 0x66, 0x1a, 0x41, 0x0a, 0x0d, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x61, 0x78, 0x45, 0x72, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x61, 0x78, 0x45, 0x72, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x42, 0x75, 0x66, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x42, 0x75, 0x66, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x2e, 0x0a, 0x0c, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x50, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x54, 0x69, 0x6d, - 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0x23, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x72, 0x65, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x54, 0x72, 0x65, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x66, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, - 0x54, 0x49, 0x4d, 0x45, 0x42, 0x41, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, - 0x41, 0x4e, 0x47, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, - 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x55, 0x52, 0x56, 0x45, 0x4c, 0x4f, 0x47, 0x10, 0x04, - 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x05, 0x12, 0x0c, 0x0a, - 0x08, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x06, 0x22, 0xd1, 0x02, 0x0a, 0x0c, - 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x04, - 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, - 0x1a, 0xfc, 0x01, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x12, 0x17, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x50, 0x61, 0x74, - 0x68, 0x43, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x05, 0x50, 0x61, 0x74, 0x68, - 0x43, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x02, 0x44, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x38, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x02, 0x44, 0x70, 0x1a, 0x5c, - 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x13, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x02, 0x54, 0x73, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x54, 0x73, 0x43, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x03, 0x54, 0x73, 0x43, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x54, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x54, 0x73, 0x43, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x50, 0x61, 0x74, 0x68, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x50, 0x61, 0x74, 0x68, 0x43, 0x22, - 0xe6, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x06, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x48, 0x00, 0x52, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x29, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x83, 0x05, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x3c, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x24, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x6e, 0x0a, - 0x0f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, - 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x48, 0x01, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x02, 0x54, 0x73, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, - 0x54, 0x73, 0x43, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x03, 0x54, 0x73, 0x43, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0d, 0x41, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x1a, 0x98, - 0x01, 0x0a, 0x16, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x44, 0x61, 0x74, - 0x61, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x48, - 0x00, 0x52, 0x08, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1f, - 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x54, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x54, 0x73, 0x43, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, - 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x29, - 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xb9, 0x02, 0x0a, - 0x12, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x55, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x54, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x54, 0x73, 0x12, 0x29, 0x0a, 0x0d, 0x41, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd9, 0x01, 0x0a, 0x17, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x48, 0x00, 0x52, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, - 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x09, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x41, 0x0a, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x4d, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x66, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x08, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x05, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, 0xae, 0x02, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0e, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x54, 0x73, 0x12, 0x29, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xdc, 0x03, 0x0a, 0x15, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, - 0x00, 0x52, 0x0f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, - 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x02, 0x54, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x15, 0x0a, 0x03, 0x54, 0x73, 0x43, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, - 0x52, 0x03, 0x54, 0x73, 0x43, 0x88, 0x01, 0x01, 0x1a, 0x58, 0x0a, 0x16, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, - 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x08, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, - 0x63, 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x54, 0x73, 0x42, - 0x06, 0x0a, 0x04, 0x5f, 0x54, 0x73, 0x43, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x74, - 0x0a, 0x19, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x22, 0xac, 0x02, 0x0a, 0x1a, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x55, 0x0a, 0x0d, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0d, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x54, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x2a, 0x28, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, - 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x2a, 0x30, 0x0a, - 0x15, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, - 0x53, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x32, - 0xb6, 0x03, 0x0a, 0x06, 0x56, 0x49, 0x53, 0x53, 0x76, 0x32, 0x12, 0x5f, 0x0a, 0x0a, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x1a, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5f, 0x0a, 0x0a, 0x53, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x1a, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x71, 0x0a, 0x10, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, - 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x30, 0x01, 0x12, - 0x77, 0x0a, 0x12, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x55, 0x6e, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x04, 0x5a, 0x02, 0x2e, 0x2f, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_VISSv3_proto_rawDescOnce sync.Once - file_VISSv3_proto_rawDescData = file_VISSv3_proto_rawDesc -) - -func file_VISSv3_proto_rawDescGZIP() []byte { - file_VISSv3_proto_rawDescOnce.Do(func() { - file_VISSv3_proto_rawDescData = protoimpl.X.CompressGZIP(file_VISSv3_proto_rawDescData) - }) - return file_VISSv3_proto_rawDescData -} - -var file_VISSv3_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_VISSv3_proto_msgTypes = make([]protoimpl.MessageInfo, 26) -var file_VISSv3_proto_goTypes = []interface{}{ - (ResponseStatus)(0), // 0: grpcProtobufMessages.ResponseStatus - (SubscribeResponseType)(0), // 1: grpcProtobufMessages.SubscribeResponseType - (FilterExpressions_FilterExpression_FilterType)(0), // 2: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterType - (*ErrorResponseMessage)(nil), // 3: grpcProtobufMessages.ErrorResponseMessage - (*FilterExpressions)(nil), // 4: grpcProtobufMessages.FilterExpressions - (*DataPackages)(nil), // 5: grpcProtobufMessages.DataPackages - (*GetRequestMessage)(nil), // 6: grpcProtobufMessages.GetRequestMessage - (*GetResponseMessage)(nil), // 7: grpcProtobufMessages.GetResponseMessage - (*SetRequestMessage)(nil), // 8: grpcProtobufMessages.SetRequestMessage - (*SetResponseMessage)(nil), // 9: grpcProtobufMessages.SetResponseMessage - (*SubscribeRequestMessage)(nil), // 10: grpcProtobufMessages.SubscribeRequestMessage - (*SubscribeStreamMessage)(nil), // 11: grpcProtobufMessages.SubscribeStreamMessage - (*UnsubscribeRequestMessage)(nil), // 12: grpcProtobufMessages.UnsubscribeRequestMessage - (*UnsubscribeResponseMessage)(nil), // 13: grpcProtobufMessages.UnsubscribeResponseMessage - (*FilterExpressions_FilterExpression)(nil), // 14: grpcProtobufMessages.FilterExpressions.FilterExpression - (*FilterExpressions_FilterExpression_FilterValue)(nil), // 15: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue - (*FilterExpressions_FilterExpression_FilterValue_PathsValue)(nil), // 16: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.PathsValue - (*FilterExpressions_FilterExpression_FilterValue_TimebasedValue)(nil), // 17: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.TimebasedValue - (*FilterExpressions_FilterExpression_FilterValue_RangeValue)(nil), // 18: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.RangeValue - (*FilterExpressions_FilterExpression_FilterValue_ChangeValue)(nil), // 19: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ChangeValue - (*FilterExpressions_FilterExpression_FilterValue_CurvelogValue)(nil), // 20: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.CurvelogValue - (*FilterExpressions_FilterExpression_FilterValue_HistoryValue)(nil), // 21: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.HistoryValue - (*FilterExpressions_FilterExpression_FilterValue_MetadataValue)(nil), // 22: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.MetadataValue - (*DataPackages_DataPackage)(nil), // 23: grpcProtobufMessages.DataPackages.DataPackage - (*DataPackages_DataPackage_DataPoint)(nil), // 24: grpcProtobufMessages.DataPackages.DataPackage.DataPoint - (*GetResponseMessage_SuccessResponseMessage)(nil), // 25: grpcProtobufMessages.GetResponseMessage.SuccessResponseMessage - (*SubscribeStreamMessage_SubscribeResponseMessage)(nil), // 26: grpcProtobufMessages.SubscribeStreamMessage.SubscribeResponseMessage - (*SubscribeStreamMessage_SubscribeEventMessage)(nil), // 27: grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage - (*SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage)(nil), // 28: grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage.SuccessResponseMessage -} -var file_VISSv3_proto_depIdxs = []int32{ - 14, // 0: grpcProtobufMessages.FilterExpressions.FilterExp:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression - 23, // 1: grpcProtobufMessages.DataPackages.Data:type_name -> grpcProtobufMessages.DataPackages.DataPackage - 4, // 2: grpcProtobufMessages.GetRequestMessage.Filter:type_name -> grpcProtobufMessages.FilterExpressions - 0, // 3: grpcProtobufMessages.GetResponseMessage.Status:type_name -> grpcProtobufMessages.ResponseStatus - 25, // 4: grpcProtobufMessages.GetResponseMessage.SuccessResponse:type_name -> grpcProtobufMessages.GetResponseMessage.SuccessResponseMessage - 3, // 5: grpcProtobufMessages.GetResponseMessage.ErrorResponse:type_name -> grpcProtobufMessages.ErrorResponseMessage - 0, // 6: grpcProtobufMessages.SetResponseMessage.Status:type_name -> grpcProtobufMessages.ResponseStatus - 3, // 7: grpcProtobufMessages.SetResponseMessage.ErrorResponse:type_name -> grpcProtobufMessages.ErrorResponseMessage - 4, // 8: grpcProtobufMessages.SubscribeRequestMessage.Filter:type_name -> grpcProtobufMessages.FilterExpressions - 1, // 9: grpcProtobufMessages.SubscribeStreamMessage.MType:type_name -> grpcProtobufMessages.SubscribeResponseType - 0, // 10: grpcProtobufMessages.SubscribeStreamMessage.Status:type_name -> grpcProtobufMessages.ResponseStatus - 26, // 11: grpcProtobufMessages.SubscribeStreamMessage.Response:type_name -> grpcProtobufMessages.SubscribeStreamMessage.SubscribeResponseMessage - 27, // 12: grpcProtobufMessages.SubscribeStreamMessage.Event:type_name -> grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage - 0, // 13: grpcProtobufMessages.UnsubscribeResponseMessage.Status:type_name -> grpcProtobufMessages.ResponseStatus - 3, // 14: grpcProtobufMessages.UnsubscribeResponseMessage.ErrorResponse:type_name -> grpcProtobufMessages.ErrorResponseMessage - 2, // 15: grpcProtobufMessages.FilterExpressions.FilterExpression.FType:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterType - 15, // 16: grpcProtobufMessages.FilterExpressions.FilterExpression.Value:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue - 16, // 17: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValuePaths:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.PathsValue - 17, // 18: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueTimebased:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.TimebasedValue - 18, // 19: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueRange:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.RangeValue - 19, // 20: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueChange:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ChangeValue - 20, // 21: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueCurvelog:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.CurvelogValue - 21, // 22: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueHistory:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.HistoryValue - 22, // 23: grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueMetadata:type_name -> grpcProtobufMessages.FilterExpressions.FilterExpression.FilterValue.MetadataValue - 24, // 24: grpcProtobufMessages.DataPackages.DataPackage.Dp:type_name -> grpcProtobufMessages.DataPackages.DataPackage.DataPoint - 5, // 25: grpcProtobufMessages.GetResponseMessage.SuccessResponseMessage.DataPack:type_name -> grpcProtobufMessages.DataPackages - 3, // 26: grpcProtobufMessages.SubscribeStreamMessage.SubscribeResponseMessage.ErrorResponse:type_name -> grpcProtobufMessages.ErrorResponseMessage - 28, // 27: grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage.SuccessResponse:type_name -> grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage.SuccessResponseMessage - 3, // 28: grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage.ErrorResponse:type_name -> grpcProtobufMessages.ErrorResponseMessage - 5, // 29: grpcProtobufMessages.SubscribeStreamMessage.SubscribeEventMessage.SuccessResponseMessage.DataPack:type_name -> grpcProtobufMessages.DataPackages - 6, // 30: grpcProtobufMessages.VISSv2.GetRequest:input_type -> grpcProtobufMessages.GetRequestMessage - 8, // 31: grpcProtobufMessages.VISSv2.SetRequest:input_type -> grpcProtobufMessages.SetRequestMessage - 10, // 32: grpcProtobufMessages.VISSv2.SubscribeRequest:input_type -> grpcProtobufMessages.SubscribeRequestMessage - 12, // 33: grpcProtobufMessages.VISSv2.UnsubscribeRequest:input_type -> grpcProtobufMessages.UnsubscribeRequestMessage - 7, // 34: grpcProtobufMessages.VISSv2.GetRequest:output_type -> grpcProtobufMessages.GetResponseMessage - 9, // 35: grpcProtobufMessages.VISSv2.SetRequest:output_type -> grpcProtobufMessages.SetResponseMessage - 11, // 36: grpcProtobufMessages.VISSv2.SubscribeRequest:output_type -> grpcProtobufMessages.SubscribeStreamMessage - 13, // 37: grpcProtobufMessages.VISSv2.UnsubscribeRequest:output_type -> grpcProtobufMessages.UnsubscribeResponseMessage - 34, // [34:38] is the sub-list for method output_type - 30, // [30:34] is the sub-list for method input_type - 30, // [30:30] is the sub-list for extension type_name - 30, // [30:30] is the sub-list for extension extendee - 0, // [0:30] is the sub-list for field type_name -} - -func init() { file_VISSv3_proto_init() } -func file_VISSv3_proto_init() { - if File_VISSv3_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_VISSv3_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ErrorResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataPackages); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRequestMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetRequestMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeRequestMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeStreamMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnsubscribeRequestMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnsubscribeResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_PathsValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_TimebasedValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_RangeValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_ChangeValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_CurvelogValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_HistoryValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_MetadataValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataPackages_DataPackage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataPackages_DataPackage_DataPoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResponseMessage_SuccessResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeStreamMessage_SubscribeResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeStreamMessage_SubscribeEventMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_VISSv3_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[3].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[4].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[5].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[6].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[7].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[8].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[9].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[10].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[12].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[20].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[21].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[22].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[23].OneofWrappers = []interface{}{} - file_VISSv3_proto_msgTypes[24].OneofWrappers = []interface{}{} - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_VISSv3_proto_rawDesc, - NumEnums: 3, - NumMessages: 26, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_VISSv3_proto_goTypes, - DependencyIndexes: file_VISSv3_proto_depIdxs, - EnumInfos: file_VISSv3_proto_enumTypes, - MessageInfos: file_VISSv3_proto_msgTypes, - }.Build() - File_VISSv3_proto = out.File - file_VISSv3_proto_rawDesc = nil - file_VISSv3_proto_goTypes = nil - file_VISSv3_proto_depIdxs = nil -} diff --git a/grpc_pb/VISSv3_grpc.pb.go b/grpc_pb/VISSv3_grpc.pb.go deleted file mode 100644 index 6a17f3bb..00000000 --- a/grpc_pb/VISSv3_grpc.pb.go +++ /dev/null @@ -1,241 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.15.8 -// source: VISSv3.proto - -package __ - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// VISSv2Client is the client API for VISSv2 service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type VISSv2Client interface { - GetRequest(ctx context.Context, in *GetRequestMessage, opts ...grpc.CallOption) (*GetResponseMessage, error) - SetRequest(ctx context.Context, in *SetRequestMessage, opts ...grpc.CallOption) (*SetResponseMessage, error) - SubscribeRequest(ctx context.Context, in *SubscribeRequestMessage, opts ...grpc.CallOption) (VISSv2_SubscribeRequestClient, error) - UnsubscribeRequest(ctx context.Context, in *UnsubscribeRequestMessage, opts ...grpc.CallOption) (*UnsubscribeResponseMessage, error) -} - -type vISSv2Client struct { - cc grpc.ClientConnInterface -} - -func NewVISSv2Client(cc grpc.ClientConnInterface) VISSv2Client { - return &vISSv2Client{cc} -} - -func (c *vISSv2Client) GetRequest(ctx context.Context, in *GetRequestMessage, opts ...grpc.CallOption) (*GetResponseMessage, error) { - out := new(GetResponseMessage) - err := c.cc.Invoke(ctx, "/grpcProtobufMessages.VISSv2/GetRequest", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *vISSv2Client) SetRequest(ctx context.Context, in *SetRequestMessage, opts ...grpc.CallOption) (*SetResponseMessage, error) { - out := new(SetResponseMessage) - err := c.cc.Invoke(ctx, "/grpcProtobufMessages.VISSv2/SetRequest", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *vISSv2Client) SubscribeRequest(ctx context.Context, in *SubscribeRequestMessage, opts ...grpc.CallOption) (VISSv2_SubscribeRequestClient, error) { - stream, err := c.cc.NewStream(ctx, &VISSv2_ServiceDesc.Streams[0], "/grpcProtobufMessages.VISSv2/SubscribeRequest", opts...) - if err != nil { - return nil, err - } - x := &vISSv2SubscribeRequestClient{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 VISSv2_SubscribeRequestClient interface { - Recv() (*SubscribeStreamMessage, error) - grpc.ClientStream -} - -type vISSv2SubscribeRequestClient struct { - grpc.ClientStream -} - -func (x *vISSv2SubscribeRequestClient) Recv() (*SubscribeStreamMessage, error) { - m := new(SubscribeStreamMessage) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *vISSv2Client) UnsubscribeRequest(ctx context.Context, in *UnsubscribeRequestMessage, opts ...grpc.CallOption) (*UnsubscribeResponseMessage, error) { - out := new(UnsubscribeResponseMessage) - err := c.cc.Invoke(ctx, "/grpcProtobufMessages.VISSv2/UnsubscribeRequest", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// VISSv2Server is the server API for VISSv2 service. -// All implementations must embed UnimplementedVISSv2Server -// for forward compatibility -type VISSv2Server interface { - GetRequest(context.Context, *GetRequestMessage) (*GetResponseMessage, error) - SetRequest(context.Context, *SetRequestMessage) (*SetResponseMessage, error) - SubscribeRequest(*SubscribeRequestMessage, VISSv2_SubscribeRequestServer) error - UnsubscribeRequest(context.Context, *UnsubscribeRequestMessage) (*UnsubscribeResponseMessage, error) - mustEmbedUnimplementedVISSv2Server() -} - -// UnimplementedVISSv2Server must be embedded to have forward compatible implementations. -type UnimplementedVISSv2Server struct { -} - -func (UnimplementedVISSv2Server) GetRequest(context.Context, *GetRequestMessage) (*GetResponseMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetRequest not implemented") -} -func (UnimplementedVISSv2Server) SetRequest(context.Context, *SetRequestMessage) (*SetResponseMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetRequest not implemented") -} -func (UnimplementedVISSv2Server) SubscribeRequest(*SubscribeRequestMessage, VISSv2_SubscribeRequestServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeRequest not implemented") -} -func (UnimplementedVISSv2Server) UnsubscribeRequest(context.Context, *UnsubscribeRequestMessage) (*UnsubscribeResponseMessage, error) { - return nil, status.Errorf(codes.Unimplemented, "method UnsubscribeRequest not implemented") -} -func (UnimplementedVISSv2Server) mustEmbedUnimplementedVISSv2Server() {} - -// UnsafeVISSv2Server may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to VISSv2Server will -// result in compilation errors. -type UnsafeVISSv2Server interface { - mustEmbedUnimplementedVISSv2Server() -} - -func RegisterVISSv2Server(s grpc.ServiceRegistrar, srv VISSv2Server) { - s.RegisterService(&VISSv2_ServiceDesc, srv) -} - -func _VISSv2_GetRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetRequestMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(VISSv2Server).GetRequest(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpcProtobufMessages.VISSv2/GetRequest", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VISSv2Server).GetRequest(ctx, req.(*GetRequestMessage)) - } - return interceptor(ctx, in, info, handler) -} - -func _VISSv2_SetRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetRequestMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(VISSv2Server).SetRequest(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpcProtobufMessages.VISSv2/SetRequest", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VISSv2Server).SetRequest(ctx, req.(*SetRequestMessage)) - } - return interceptor(ctx, in, info, handler) -} - -func _VISSv2_SubscribeRequest_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SubscribeRequestMessage) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(VISSv2Server).SubscribeRequest(m, &vISSv2SubscribeRequestServer{stream}) -} - -type VISSv2_SubscribeRequestServer interface { - Send(*SubscribeStreamMessage) error - grpc.ServerStream -} - -type vISSv2SubscribeRequestServer struct { - grpc.ServerStream -} - -func (x *vISSv2SubscribeRequestServer) Send(m *SubscribeStreamMessage) error { - return x.ServerStream.SendMsg(m) -} - -func _VISSv2_UnsubscribeRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnsubscribeRequestMessage) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(VISSv2Server).UnsubscribeRequest(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/grpcProtobufMessages.VISSv2/UnsubscribeRequest", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VISSv2Server).UnsubscribeRequest(ctx, req.(*UnsubscribeRequestMessage)) - } - return interceptor(ctx, in, info, handler) -} - -// VISSv2_ServiceDesc is the grpc.ServiceDesc for VISSv2 service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var VISSv2_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "grpcProtobufMessages.VISSv2", - HandlerType: (*VISSv2Server)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetRequest", - Handler: _VISSv2_GetRequest_Handler, - }, - { - MethodName: "SetRequest", - Handler: _VISSv2_SetRequest_Handler, - }, - { - MethodName: "UnsubscribeRequest", - Handler: _VISSv2_UnsubscribeRequest_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "SubscribeRequest", - Handler: _VISSv2_SubscribeRequest_Handler, - ServerStreams: true, - }, - }, - Metadata: "VISSv3.proto", -} diff --git a/protobuf/README.md b/protobuf/README.md deleted file mode 100644 index ed5e624b..00000000 --- a/protobuf/README.md +++ /dev/null @@ -1,20 +0,0 @@ -**(C) 2024 Foed Motor Cmpany**
-**(C) 2022 Geotab Inc**
- -# Protobuf implementation of the VISSv2 payload messages - -The VISSv3messages.proto file contains a definition that encompasses all payload messages that the VISSv3 standard defines for the Websocket, and MQTT protocols. For HTTP the requests carry most parts of this not as a payload but explicitly in the protocol, so this design may need some tweaks for supporting HTTP. At a minimum the code that transforms between JSON and protobuf would need modifications.
- -The VISSv3messages.proto file is used as input to the protoc tool. To generate a Golang output file, the following command can be used:
-$ protoc --go_out=protoc-out VISSv3messages.proto
-which creates the VISSv3messages.pb.go file in the protoc-out directory.
- -The different type of messages that serialised protobuf blob supports are the following:
- -Request and response messages for the actions get/set/subscribe/unsubscribe.
-Notification messages for the action subscribe.
-Response and notification messages can be either be success, or error messages.
-This computes to thirteen different message types that need to be supported, and this is signalled within the protobuf blob by the enums MessageMethod, MessageType, and ResponseStatus.
-The protobuf design also supports two levels of compression, one where all data is of string type, and one where paths and timestamps are encoded into int32 format, see README in the utils directory for more information. - - diff --git a/protobuf/VISSv3messages.proto b/protobuf/VISSv3messages.proto deleted file mode 100644 index 15e0bd5b..00000000 --- a/protobuf/VISSv3messages.proto +++ /dev/null @@ -1,209 +0,0 @@ -syntax = "proto3"; -package protobufMessages; - -//import "google/protobuf/timestamp.proto"; -option go_package = "./"; - -enum MessageMethod { - GET = 0; - SET = 1; - SUBSCRIBE = 2; - UNSUBSCRIBE = 3; -} - -enum MessageType { - REQUEST = 0; - RESPONSE = 1; - NOTIFICATION = 2; -} - -enum ResponseStatus { - SUCCESS = 0; - ERROR = 1; -} - -message ErrorResponseMessage { - string Number = 1; - optional string Reason = 2; - optional string Message = 3; -} - -message FilterExpressions { - message FilterExpression { - enum FilterType { - PATHS = 0; - TIMEBASED = 1; - RANGE = 2; - CHANGE = 3; - CURVELOG = 4; - HISTORY = 5; - METADATA = 6; - } - FilterType FType = 1; - - message FilterValue { - message PathsValue { - repeated string RelativePath = 1; - } - optional PathsValue ValuePaths = 1; - - message TimebasedValue { - string Period = 1; - } - optional TimebasedValue ValueTimebased = 2; - - message RangeValue { - string LogicOperator = 1; - string Boundary = 2; - } - repeated RangeValue ValueRange = 3; - - message ChangeValue { - string LogicOperator = 1; - string Diff = 2; - } - optional ChangeValue ValueChange = 4; - - message CurvelogValue { - string MaxErr = 1; - string BufSize = 2; - } - optional CurvelogValue ValueCurvelog = 5; - - message HistoryValue { - string TimePeriod = 1; //ISO8601 period expression - } - optional HistoryValue ValueHistory = 6; - - message MetadataValue { - string Tree = 1; - } - optional MetadataValue ValueMetadata = 7; - } - FilterValue Value = 2; - } - repeated FilterExpression FilterExp = 1; -} - -message DataPackages { - message DataPackage { - optional string Path = 1; - optional int32 PathC = 2; - - message DataPoint { - string Value = 1; - optional string Ts = 2; - optional int32 TsC = 3; - } - repeated DataPoint Dp = 3; - } - repeated DataPackage Data = 1; -} - -message GetMessage { - MessageType MType = 1; - - message RequestMessage { - string Path = 1; - optional FilterExpressions Filter = 2; - optional string Authorization = 3; - optional string RequestId = 4; - } - optional RequestMessage Request = 2; - - message ResponseMessage { - ResponseStatus Status = 1; - message SuccessResponseMessage { - optional DataPackages DataPack = 1; - optional string Metadata = 2; // replaces DataPack in metadata variant - } - optional SuccessResponseMessage SuccessResponse = 2; - optional ErrorResponseMessage ErrorResponse = 3; - optional string RequestId = 4; - optional string Ts = 5; - optional int32 TsC = 6; - } - optional ResponseMessage Response = 3; -} - -message SetMessage { - MessageType MType = 1; - - message RequestMessage { - string Path = 1; - string Value = 2; - optional string Authorization = 3; - optional string RequestId = 4; - } - optional RequestMessage Request = 2; - - message ResponseMessage { - ResponseStatus Status = 1; - optional ErrorResponseMessage ErrorResponse = 2; - optional string RequestId = 3; - string Ts = 4; - } - optional ResponseMessage Response = 3; -} - -message SubscribeMessage { - MessageType MType = 1; - - message RequestMessage { - string Path = 1; - optional FilterExpressions Filter = 2; - optional string Authorization = 3; - string RequestId = 4; - } - optional RequestMessage Request = 2; - - message ResponseMessage { - ResponseStatus Status = 1; - optional ErrorResponseMessage ErrorResponse = 2; - string SubscriptionId = 3; - string RequestId = 4; - string Ts = 5; - } - optional ResponseMessage Response = 3; - - message NotificationMessage { - string SubscriptionId = 1; - ResponseStatus Status = 2; - message SuccessResponseMessage { - DataPackages DataPack = 1; - } - optional SuccessResponseMessage SuccessResponse = 3; - optional ErrorResponseMessage ErrorResponse = 4; - optional string Ts = 5; - optional int32 TsC = 6; - } - optional NotificationMessage Notification = 4; -} - -message UnSubscribeMessage { - MessageType MType = 1; - - message RequestMessage { - string SubscriptionId = 1; - optional string RequestId = 2; - } - optional RequestMessage Request = 2; - - message ResponseMessage { - string SubscriptionId = 1; - ResponseStatus Status = 2; - optional ErrorResponseMessage ErrorResponse = 3; - optional string RequestId = 4; - string Ts = 5; - } - optional ResponseMessage Response = 3; -} - -message ProtobufMessage { - MessageMethod Method = 1; - optional GetMessage Get = 2; - optional SetMessage Set = 3; - optional SubscribeMessage Subscribe = 4; - optional UnSubscribeMessage UnSubscribe = 5; -} - diff --git a/protobuf/protoc-out/VISSv3messages.pb.go b/protobuf/protoc-out/VISSv3messages.pb.go deleted file mode 100644 index 5df16031..00000000 --- a/protobuf/protoc-out/VISSv3messages.pb.go +++ /dev/null @@ -1,3053 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v3.15.8 -// source: VISSv3messages.proto - -package __ - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - 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 MessageMethod int32 - -const ( - MessageMethod_GET MessageMethod = 0 - MessageMethod_SET MessageMethod = 1 - MessageMethod_SUBSCRIBE MessageMethod = 2 - MessageMethod_UNSUBSCRIBE MessageMethod = 3 -) - -// Enum value maps for MessageMethod. -var ( - MessageMethod_name = map[int32]string{ - 0: "GET", - 1: "SET", - 2: "SUBSCRIBE", - 3: "UNSUBSCRIBE", - } - MessageMethod_value = map[string]int32{ - "GET": 0, - "SET": 1, - "SUBSCRIBE": 2, - "UNSUBSCRIBE": 3, - } -) - -func (x MessageMethod) Enum() *MessageMethod { - p := new(MessageMethod) - *p = x - return p -} - -func (x MessageMethod) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (MessageMethod) Descriptor() protoreflect.EnumDescriptor { - return file_VISSv3messages_proto_enumTypes[0].Descriptor() -} - -func (MessageMethod) Type() protoreflect.EnumType { - return &file_VISSv3messages_proto_enumTypes[0] -} - -func (x MessageMethod) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use MessageMethod.Descriptor instead. -func (MessageMethod) EnumDescriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{0} -} - -type MessageType int32 - -const ( - MessageType_REQUEST MessageType = 0 - MessageType_RESPONSE MessageType = 1 - MessageType_NOTIFICATION MessageType = 2 -) - -// Enum value maps for MessageType. -var ( - MessageType_name = map[int32]string{ - 0: "REQUEST", - 1: "RESPONSE", - 2: "NOTIFICATION", - } - MessageType_value = map[string]int32{ - "REQUEST": 0, - "RESPONSE": 1, - "NOTIFICATION": 2, - } -) - -func (x MessageType) Enum() *MessageType { - p := new(MessageType) - *p = x - return p -} - -func (x MessageType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (MessageType) Descriptor() protoreflect.EnumDescriptor { - return file_VISSv3messages_proto_enumTypes[1].Descriptor() -} - -func (MessageType) Type() protoreflect.EnumType { - return &file_VISSv3messages_proto_enumTypes[1] -} - -func (x MessageType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use MessageType.Descriptor instead. -func (MessageType) EnumDescriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1} -} - -type ResponseStatus int32 - -const ( - ResponseStatus_SUCCESS ResponseStatus = 0 - ResponseStatus_ERROR ResponseStatus = 1 -) - -// Enum value maps for ResponseStatus. -var ( - ResponseStatus_name = map[int32]string{ - 0: "SUCCESS", - 1: "ERROR", - } - ResponseStatus_value = map[string]int32{ - "SUCCESS": 0, - "ERROR": 1, - } -) - -func (x ResponseStatus) Enum() *ResponseStatus { - p := new(ResponseStatus) - *p = x - return p -} - -func (x ResponseStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ResponseStatus) Descriptor() protoreflect.EnumDescriptor { - return file_VISSv3messages_proto_enumTypes[2].Descriptor() -} - -func (ResponseStatus) Type() protoreflect.EnumType { - return &file_VISSv3messages_proto_enumTypes[2] -} - -func (x ResponseStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ResponseStatus.Descriptor instead. -func (ResponseStatus) EnumDescriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{2} -} - -type FilterExpressions_FilterExpression_FilterType int32 - -const ( - FilterExpressions_FilterExpression_PATHS FilterExpressions_FilterExpression_FilterType = 0 - FilterExpressions_FilterExpression_TIMEBASED FilterExpressions_FilterExpression_FilterType = 1 - FilterExpressions_FilterExpression_RANGE FilterExpressions_FilterExpression_FilterType = 2 - FilterExpressions_FilterExpression_CHANGE FilterExpressions_FilterExpression_FilterType = 3 - FilterExpressions_FilterExpression_CURVELOG FilterExpressions_FilterExpression_FilterType = 4 - FilterExpressions_FilterExpression_HISTORY FilterExpressions_FilterExpression_FilterType = 5 - FilterExpressions_FilterExpression_METADATA FilterExpressions_FilterExpression_FilterType = 6 -) - -// Enum value maps for FilterExpressions_FilterExpression_FilterType. -var ( - FilterExpressions_FilterExpression_FilterType_name = map[int32]string{ - 0: "PATHS", - 1: "TIMEBASED", - 2: "RANGE", - 3: "CHANGE", - 4: "CURVELOG", - 5: "HISTORY", - 6: "METADATA", - } - FilterExpressions_FilterExpression_FilterType_value = map[string]int32{ - "PATHS": 0, - "TIMEBASED": 1, - "RANGE": 2, - "CHANGE": 3, - "CURVELOG": 4, - "HISTORY": 5, - "METADATA": 6, - } -) - -func (x FilterExpressions_FilterExpression_FilterType) Enum() *FilterExpressions_FilterExpression_FilterType { - p := new(FilterExpressions_FilterExpression_FilterType) - *p = x - return p -} - -func (x FilterExpressions_FilterExpression_FilterType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (FilterExpressions_FilterExpression_FilterType) Descriptor() protoreflect.EnumDescriptor { - return file_VISSv3messages_proto_enumTypes[3].Descriptor() -} - -func (FilterExpressions_FilterExpression_FilterType) Type() protoreflect.EnumType { - return &file_VISSv3messages_proto_enumTypes[3] -} - -func (x FilterExpressions_FilterExpression_FilterType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use FilterExpressions_FilterExpression_FilterType.Descriptor instead. -func (FilterExpressions_FilterExpression_FilterType) EnumDescriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1, 0, 0} -} - -type ErrorResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Number string `protobuf:"bytes,1,opt,name=Number,proto3" json:"Number,omitempty"` - Reason *string `protobuf:"bytes,2,opt,name=Reason,proto3,oneof" json:"Reason,omitempty"` - Message *string `protobuf:"bytes,3,opt,name=Message,proto3,oneof" json:"Message,omitempty"` -} - -func (x *ErrorResponseMessage) Reset() { - *x = ErrorResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ErrorResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ErrorResponseMessage) ProtoMessage() {} - -func (x *ErrorResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 ErrorResponseMessage.ProtoReflect.Descriptor instead. -func (*ErrorResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{0} -} - -func (x *ErrorResponseMessage) GetNumber() string { - if x != nil { - return x.Number - } - return "" -} - -func (x *ErrorResponseMessage) GetReason() string { - if x != nil && x.Reason != nil { - return *x.Reason - } - return "" -} - -func (x *ErrorResponseMessage) GetMessage() string { - if x != nil && x.Message != nil { - return *x.Message - } - return "" -} - -type FilterExpressions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FilterExp []*FilterExpressions_FilterExpression `protobuf:"bytes,1,rep,name=FilterExp,proto3" json:"FilterExp,omitempty"` -} - -func (x *FilterExpressions) Reset() { - *x = FilterExpressions{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions) ProtoMessage() {} - -func (x *FilterExpressions) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 FilterExpressions.ProtoReflect.Descriptor instead. -func (*FilterExpressions) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1} -} - -func (x *FilterExpressions) GetFilterExp() []*FilterExpressions_FilterExpression { - if x != nil { - return x.FilterExp - } - return nil -} - -type DataPackages struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Data []*DataPackages_DataPackage `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` -} - -func (x *DataPackages) Reset() { - *x = DataPackages{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DataPackages) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DataPackages) ProtoMessage() {} - -func (x *DataPackages) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 DataPackages.ProtoReflect.Descriptor instead. -func (*DataPackages) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{2} -} - -func (x *DataPackages) GetData() []*DataPackages_DataPackage { - if x != nil { - return x.Data - } - return nil -} - -type GetMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MType MessageType `protobuf:"varint,1,opt,name=MType,proto3,enum=protobufMessages.MessageType" json:"MType,omitempty"` - Request *GetMessage_RequestMessage `protobuf:"bytes,2,opt,name=Request,proto3,oneof" json:"Request,omitempty"` - Response *GetMessage_ResponseMessage `protobuf:"bytes,3,opt,name=Response,proto3,oneof" json:"Response,omitempty"` -} - -func (x *GetMessage) Reset() { - *x = GetMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMessage) ProtoMessage() {} - -func (x *GetMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 GetMessage.ProtoReflect.Descriptor instead. -func (*GetMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{3} -} - -func (x *GetMessage) GetMType() MessageType { - if x != nil { - return x.MType - } - return MessageType_REQUEST -} - -func (x *GetMessage) GetRequest() *GetMessage_RequestMessage { - if x != nil { - return x.Request - } - return nil -} - -func (x *GetMessage) GetResponse() *GetMessage_ResponseMessage { - if x != nil { - return x.Response - } - return nil -} - -type SetMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MType MessageType `protobuf:"varint,1,opt,name=MType,proto3,enum=protobufMessages.MessageType" json:"MType,omitempty"` - Request *SetMessage_RequestMessage `protobuf:"bytes,2,opt,name=Request,proto3,oneof" json:"Request,omitempty"` - Response *SetMessage_ResponseMessage `protobuf:"bytes,3,opt,name=Response,proto3,oneof" json:"Response,omitempty"` -} - -func (x *SetMessage) Reset() { - *x = SetMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetMessage) ProtoMessage() {} - -func (x *SetMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 SetMessage.ProtoReflect.Descriptor instead. -func (*SetMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{4} -} - -func (x *SetMessage) GetMType() MessageType { - if x != nil { - return x.MType - } - return MessageType_REQUEST -} - -func (x *SetMessage) GetRequest() *SetMessage_RequestMessage { - if x != nil { - return x.Request - } - return nil -} - -func (x *SetMessage) GetResponse() *SetMessage_ResponseMessage { - if x != nil { - return x.Response - } - return nil -} - -type SubscribeMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MType MessageType `protobuf:"varint,1,opt,name=MType,proto3,enum=protobufMessages.MessageType" json:"MType,omitempty"` - Request *SubscribeMessage_RequestMessage `protobuf:"bytes,2,opt,name=Request,proto3,oneof" json:"Request,omitempty"` - Response *SubscribeMessage_ResponseMessage `protobuf:"bytes,3,opt,name=Response,proto3,oneof" json:"Response,omitempty"` - Notification *SubscribeMessage_NotificationMessage `protobuf:"bytes,4,opt,name=Notification,proto3,oneof" json:"Notification,omitempty"` -} - -func (x *SubscribeMessage) Reset() { - *x = SubscribeMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeMessage) ProtoMessage() {} - -func (x *SubscribeMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 SubscribeMessage.ProtoReflect.Descriptor instead. -func (*SubscribeMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{5} -} - -func (x *SubscribeMessage) GetMType() MessageType { - if x != nil { - return x.MType - } - return MessageType_REQUEST -} - -func (x *SubscribeMessage) GetRequest() *SubscribeMessage_RequestMessage { - if x != nil { - return x.Request - } - return nil -} - -func (x *SubscribeMessage) GetResponse() *SubscribeMessage_ResponseMessage { - if x != nil { - return x.Response - } - return nil -} - -func (x *SubscribeMessage) GetNotification() *SubscribeMessage_NotificationMessage { - if x != nil { - return x.Notification - } - return nil -} - -type UnSubscribeMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MType MessageType `protobuf:"varint,1,opt,name=MType,proto3,enum=protobufMessages.MessageType" json:"MType,omitempty"` - Request *UnSubscribeMessage_RequestMessage `protobuf:"bytes,2,opt,name=Request,proto3,oneof" json:"Request,omitempty"` - Response *UnSubscribeMessage_ResponseMessage `protobuf:"bytes,3,opt,name=Response,proto3,oneof" json:"Response,omitempty"` -} - -func (x *UnSubscribeMessage) Reset() { - *x = UnSubscribeMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnSubscribeMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnSubscribeMessage) ProtoMessage() {} - -func (x *UnSubscribeMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 UnSubscribeMessage.ProtoReflect.Descriptor instead. -func (*UnSubscribeMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{6} -} - -func (x *UnSubscribeMessage) GetMType() MessageType { - if x != nil { - return x.MType - } - return MessageType_REQUEST -} - -func (x *UnSubscribeMessage) GetRequest() *UnSubscribeMessage_RequestMessage { - if x != nil { - return x.Request - } - return nil -} - -func (x *UnSubscribeMessage) GetResponse() *UnSubscribeMessage_ResponseMessage { - if x != nil { - return x.Response - } - return nil -} - -type ProtobufMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Method MessageMethod `protobuf:"varint,1,opt,name=Method,proto3,enum=protobufMessages.MessageMethod" json:"Method,omitempty"` - Get *GetMessage `protobuf:"bytes,2,opt,name=Get,proto3,oneof" json:"Get,omitempty"` - Set *SetMessage `protobuf:"bytes,3,opt,name=Set,proto3,oneof" json:"Set,omitempty"` - Subscribe *SubscribeMessage `protobuf:"bytes,4,opt,name=Subscribe,proto3,oneof" json:"Subscribe,omitempty"` - UnSubscribe *UnSubscribeMessage `protobuf:"bytes,5,opt,name=UnSubscribe,proto3,oneof" json:"UnSubscribe,omitempty"` -} - -func (x *ProtobufMessage) Reset() { - *x = ProtobufMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProtobufMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProtobufMessage) ProtoMessage() {} - -func (x *ProtobufMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 ProtobufMessage.ProtoReflect.Descriptor instead. -func (*ProtobufMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{7} -} - -func (x *ProtobufMessage) GetMethod() MessageMethod { - if x != nil { - return x.Method - } - return MessageMethod_GET -} - -func (x *ProtobufMessage) GetGet() *GetMessage { - if x != nil { - return x.Get - } - return nil -} - -func (x *ProtobufMessage) GetSet() *SetMessage { - if x != nil { - return x.Set - } - return nil -} - -func (x *ProtobufMessage) GetSubscribe() *SubscribeMessage { - if x != nil { - return x.Subscribe - } - return nil -} - -func (x *ProtobufMessage) GetUnSubscribe() *UnSubscribeMessage { - if x != nil { - return x.UnSubscribe - } - return nil -} - -type FilterExpressions_FilterExpression struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FType FilterExpressions_FilterExpression_FilterType `protobuf:"varint,1,opt,name=FType,proto3,enum=protobufMessages.FilterExpressions_FilterExpression_FilterType" json:"FType,omitempty"` - Value *FilterExpressions_FilterExpression_FilterValue `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"` -} - -func (x *FilterExpressions_FilterExpression) Reset() { - *x = FilterExpressions_FilterExpression{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 FilterExpressions_FilterExpression.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1, 0} -} - -func (x *FilterExpressions_FilterExpression) GetFType() FilterExpressions_FilterExpression_FilterType { - if x != nil { - return x.FType - } - return FilterExpressions_FilterExpression_PATHS -} - -func (x *FilterExpressions_FilterExpression) GetValue() *FilterExpressions_FilterExpression_FilterValue { - if x != nil { - return x.Value - } - return nil -} - -type FilterExpressions_FilterExpression_FilterValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ValuePaths *FilterExpressions_FilterExpression_FilterValue_PathsValue `protobuf:"bytes,1,opt,name=ValuePaths,proto3,oneof" json:"ValuePaths,omitempty"` - ValueTimebased *FilterExpressions_FilterExpression_FilterValue_TimebasedValue `protobuf:"bytes,2,opt,name=ValueTimebased,proto3,oneof" json:"ValueTimebased,omitempty"` - ValueRange []*FilterExpressions_FilterExpression_FilterValue_RangeValue `protobuf:"bytes,3,rep,name=ValueRange,proto3" json:"ValueRange,omitempty"` - ValueChange *FilterExpressions_FilterExpression_FilterValue_ChangeValue `protobuf:"bytes,4,opt,name=ValueChange,proto3,oneof" json:"ValueChange,omitempty"` - ValueCurvelog *FilterExpressions_FilterExpression_FilterValue_CurvelogValue `protobuf:"bytes,5,opt,name=ValueCurvelog,proto3,oneof" json:"ValueCurvelog,omitempty"` - ValueHistory *FilterExpressions_FilterExpression_FilterValue_HistoryValue `protobuf:"bytes,6,opt,name=ValueHistory,proto3,oneof" json:"ValueHistory,omitempty"` - ValueMetadata *FilterExpressions_FilterExpression_FilterValue_MetadataValue `protobuf:"bytes,7,opt,name=ValueMetadata,proto3,oneof" json:"ValueMetadata,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 FilterExpressions_FilterExpression_FilterValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1, 0, 0} -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValuePaths() *FilterExpressions_FilterExpression_FilterValue_PathsValue { - if x != nil { - return x.ValuePaths - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueTimebased() *FilterExpressions_FilterExpression_FilterValue_TimebasedValue { - if x != nil { - return x.ValueTimebased - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueRange() []*FilterExpressions_FilterExpression_FilterValue_RangeValue { - if x != nil { - return x.ValueRange - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueChange() *FilterExpressions_FilterExpression_FilterValue_ChangeValue { - if x != nil { - return x.ValueChange - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueCurvelog() *FilterExpressions_FilterExpression_FilterValue_CurvelogValue { - if x != nil { - return x.ValueCurvelog - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueHistory() *FilterExpressions_FilterExpression_FilterValue_HistoryValue { - if x != nil { - return x.ValueHistory - } - return nil -} - -func (x *FilterExpressions_FilterExpression_FilterValue) GetValueMetadata() *FilterExpressions_FilterExpression_FilterValue_MetadataValue { - if x != nil { - return x.ValueMetadata - } - return nil -} - -type FilterExpressions_FilterExpression_FilterValue_PathsValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RelativePath []string `protobuf:"bytes,1,rep,name=RelativePath,proto3" json:"RelativePath,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_PathsValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_PathsValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 FilterExpressions_FilterExpression_FilterValue_PathsValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_PathsValue) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1, 0, 0, 0} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_PathsValue) GetRelativePath() []string { - if x != nil { - return x.RelativePath - } - return nil -} - -type FilterExpressions_FilterExpression_FilterValue_TimebasedValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Period string `protobuf:"bytes,1,opt,name=Period,proto3" json:"Period,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_TimebasedValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_TimebasedValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 FilterExpressions_FilterExpression_FilterValue_TimebasedValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_TimebasedValue) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1, 0, 0, 1} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_TimebasedValue) GetPeriod() string { - if x != nil { - return x.Period - } - return "" -} - -type FilterExpressions_FilterExpression_FilterValue_RangeValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LogicOperator string `protobuf:"bytes,1,opt,name=LogicOperator,proto3" json:"LogicOperator,omitempty"` - Boundary string `protobuf:"bytes,2,opt,name=Boundary,proto3" json:"Boundary,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_RangeValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_RangeValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FilterExpressions_FilterExpression_FilterValue_RangeValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_RangeValue) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1, 0, 0, 2} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) GetLogicOperator() string { - if x != nil { - return x.LogicOperator - } - return "" -} - -func (x *FilterExpressions_FilterExpression_FilterValue_RangeValue) GetBoundary() string { - if x != nil { - return x.Boundary - } - return "" -} - -type FilterExpressions_FilterExpression_FilterValue_ChangeValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LogicOperator string `protobuf:"bytes,1,opt,name=LogicOperator,proto3" json:"LogicOperator,omitempty"` - Diff string `protobuf:"bytes,2,opt,name=Diff,proto3" json:"Diff,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_ChangeValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_ChangeValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FilterExpressions_FilterExpression_FilterValue_ChangeValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_ChangeValue) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1, 0, 0, 3} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) GetLogicOperator() string { - if x != nil { - return x.LogicOperator - } - return "" -} - -func (x *FilterExpressions_FilterExpression_FilterValue_ChangeValue) GetDiff() string { - if x != nil { - return x.Diff - } - return "" -} - -type FilterExpressions_FilterExpression_FilterValue_CurvelogValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MaxErr string `protobuf:"bytes,1,opt,name=MaxErr,proto3" json:"MaxErr,omitempty"` - BufSize string `protobuf:"bytes,2,opt,name=BufSize,proto3" json:"BufSize,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_CurvelogValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_CurvelogValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FilterExpressions_FilterExpression_FilterValue_CurvelogValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_CurvelogValue) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1, 0, 0, 4} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) GetMaxErr() string { - if x != nil { - return x.MaxErr - } - return "" -} - -func (x *FilterExpressions_FilterExpression_FilterValue_CurvelogValue) GetBufSize() string { - if x != nil { - return x.BufSize - } - return "" -} - -type FilterExpressions_FilterExpression_FilterValue_HistoryValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TimePeriod string `protobuf:"bytes,1,opt,name=TimePeriod,proto3" json:"TimePeriod,omitempty"` //ISO8601 period expression -} - -func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_HistoryValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_HistoryValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[15] - 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 FilterExpressions_FilterExpression_FilterValue_HistoryValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_HistoryValue) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1, 0, 0, 5} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_HistoryValue) GetTimePeriod() string { - if x != nil { - return x.TimePeriod - } - return "" -} - -type FilterExpressions_FilterExpression_FilterValue_MetadataValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Tree string `protobuf:"bytes,1,opt,name=Tree,proto3" json:"Tree,omitempty"` -} - -func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) Reset() { - *x = FilterExpressions_FilterExpression_FilterValue_MetadataValue{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FilterExpressions_FilterExpression_FilterValue_MetadataValue) ProtoMessage() {} - -func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[16] - 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 FilterExpressions_FilterExpression_FilterValue_MetadataValue.ProtoReflect.Descriptor instead. -func (*FilterExpressions_FilterExpression_FilterValue_MetadataValue) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{1, 0, 0, 6} -} - -func (x *FilterExpressions_FilterExpression_FilterValue_MetadataValue) GetTree() string { - if x != nil { - return x.Tree - } - return "" -} - -type DataPackages_DataPackage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path *string `protobuf:"bytes,1,opt,name=Path,proto3,oneof" json:"Path,omitempty"` - PathC *int32 `protobuf:"varint,2,opt,name=PathC,proto3,oneof" json:"PathC,omitempty"` - Dp []*DataPackages_DataPackage_DataPoint `protobuf:"bytes,3,rep,name=Dp,proto3" json:"Dp,omitempty"` -} - -func (x *DataPackages_DataPackage) Reset() { - *x = DataPackages_DataPackage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DataPackages_DataPackage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DataPackages_DataPackage) ProtoMessage() {} - -func (x *DataPackages_DataPackage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[17] - 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 DataPackages_DataPackage.ProtoReflect.Descriptor instead. -func (*DataPackages_DataPackage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{2, 0} -} - -func (x *DataPackages_DataPackage) GetPath() string { - if x != nil && x.Path != nil { - return *x.Path - } - return "" -} - -func (x *DataPackages_DataPackage) GetPathC() int32 { - if x != nil && x.PathC != nil { - return *x.PathC - } - return 0 -} - -func (x *DataPackages_DataPackage) GetDp() []*DataPackages_DataPackage_DataPoint { - if x != nil { - return x.Dp - } - return nil -} - -type DataPackages_DataPackage_DataPoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Value string `protobuf:"bytes,1,opt,name=Value,proto3" json:"Value,omitempty"` - Ts *string `protobuf:"bytes,2,opt,name=Ts,proto3,oneof" json:"Ts,omitempty"` - TsC *int32 `protobuf:"varint,3,opt,name=TsC,proto3,oneof" json:"TsC,omitempty"` -} - -func (x *DataPackages_DataPackage_DataPoint) Reset() { - *x = DataPackages_DataPackage_DataPoint{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DataPackages_DataPackage_DataPoint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DataPackages_DataPackage_DataPoint) ProtoMessage() {} - -func (x *DataPackages_DataPackage_DataPoint) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[18] - 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 DataPackages_DataPackage_DataPoint.ProtoReflect.Descriptor instead. -func (*DataPackages_DataPackage_DataPoint) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{2, 0, 0} -} - -func (x *DataPackages_DataPackage_DataPoint) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -func (x *DataPackages_DataPackage_DataPoint) GetTs() string { - if x != nil && x.Ts != nil { - return *x.Ts - } - return "" -} - -func (x *DataPackages_DataPackage_DataPoint) GetTsC() int32 { - if x != nil && x.TsC != nil { - return *x.TsC - } - return 0 -} - -type GetMessage_RequestMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` - Filter *FilterExpressions `protobuf:"bytes,2,opt,name=Filter,proto3,oneof" json:"Filter,omitempty"` - Authorization *string `protobuf:"bytes,3,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` - RequestId *string `protobuf:"bytes,4,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` -} - -func (x *GetMessage_RequestMessage) Reset() { - *x = GetMessage_RequestMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMessage_RequestMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMessage_RequestMessage) ProtoMessage() {} - -func (x *GetMessage_RequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[19] - 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 GetMessage_RequestMessage.ProtoReflect.Descriptor instead. -func (*GetMessage_RequestMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{3, 0} -} - -func (x *GetMessage_RequestMessage) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *GetMessage_RequestMessage) GetFilter() *FilterExpressions { - if x != nil { - return x.Filter - } - return nil -} - -func (x *GetMessage_RequestMessage) GetAuthorization() string { - if x != nil && x.Authorization != nil { - return *x.Authorization - } - return "" -} - -func (x *GetMessage_RequestMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -type GetMessage_ResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status ResponseStatus `protobuf:"varint,1,opt,name=Status,proto3,enum=protobufMessages.ResponseStatus" json:"Status,omitempty"` - SuccessResponse *GetMessage_ResponseMessage_SuccessResponseMessage `protobuf:"bytes,2,opt,name=SuccessResponse,proto3,oneof" json:"SuccessResponse,omitempty"` - ErrorResponse *ErrorResponseMessage `protobuf:"bytes,3,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` - RequestId *string `protobuf:"bytes,4,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` - Ts *string `protobuf:"bytes,5,opt,name=Ts,proto3,oneof" json:"Ts,omitempty"` - TsC *int32 `protobuf:"varint,6,opt,name=TsC,proto3,oneof" json:"TsC,omitempty"` -} - -func (x *GetMessage_ResponseMessage) Reset() { - *x = GetMessage_ResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMessage_ResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMessage_ResponseMessage) ProtoMessage() {} - -func (x *GetMessage_ResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[20] - 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 GetMessage_ResponseMessage.ProtoReflect.Descriptor instead. -func (*GetMessage_ResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{3, 1} -} - -func (x *GetMessage_ResponseMessage) GetStatus() ResponseStatus { - if x != nil { - return x.Status - } - return ResponseStatus_SUCCESS -} - -func (x *GetMessage_ResponseMessage) GetSuccessResponse() *GetMessage_ResponseMessage_SuccessResponseMessage { - if x != nil { - return x.SuccessResponse - } - return nil -} - -func (x *GetMessage_ResponseMessage) GetErrorResponse() *ErrorResponseMessage { - if x != nil { - return x.ErrorResponse - } - return nil -} - -func (x *GetMessage_ResponseMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -func (x *GetMessage_ResponseMessage) GetTs() string { - if x != nil && x.Ts != nil { - return *x.Ts - } - return "" -} - -func (x *GetMessage_ResponseMessage) GetTsC() int32 { - if x != nil && x.TsC != nil { - return *x.TsC - } - return 0 -} - -type GetMessage_ResponseMessage_SuccessResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DataPack *DataPackages `protobuf:"bytes,1,opt,name=DataPack,proto3,oneof" json:"DataPack,omitempty"` - Metadata *string `protobuf:"bytes,2,opt,name=Metadata,proto3,oneof" json:"Metadata,omitempty"` // replaces DataPack in metadata variant -} - -func (x *GetMessage_ResponseMessage_SuccessResponseMessage) Reset() { - *x = GetMessage_ResponseMessage_SuccessResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMessage_ResponseMessage_SuccessResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMessage_ResponseMessage_SuccessResponseMessage) ProtoMessage() {} - -func (x *GetMessage_ResponseMessage_SuccessResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[21] - 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 GetMessage_ResponseMessage_SuccessResponseMessage.ProtoReflect.Descriptor instead. -func (*GetMessage_ResponseMessage_SuccessResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{3, 1, 0} -} - -func (x *GetMessage_ResponseMessage_SuccessResponseMessage) GetDataPack() *DataPackages { - if x != nil { - return x.DataPack - } - return nil -} - -func (x *GetMessage_ResponseMessage_SuccessResponseMessage) GetMetadata() string { - if x != nil && x.Metadata != nil { - return *x.Metadata - } - return "" -} - -type SetMessage_RequestMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` - Value string `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"` - Authorization *string `protobuf:"bytes,3,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` - RequestId *string `protobuf:"bytes,4,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` -} - -func (x *SetMessage_RequestMessage) Reset() { - *x = SetMessage_RequestMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetMessage_RequestMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetMessage_RequestMessage) ProtoMessage() {} - -func (x *SetMessage_RequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[22] - 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 SetMessage_RequestMessage.ProtoReflect.Descriptor instead. -func (*SetMessage_RequestMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{4, 0} -} - -func (x *SetMessage_RequestMessage) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *SetMessage_RequestMessage) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -func (x *SetMessage_RequestMessage) GetAuthorization() string { - if x != nil && x.Authorization != nil { - return *x.Authorization - } - return "" -} - -func (x *SetMessage_RequestMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -type SetMessage_ResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status ResponseStatus `protobuf:"varint,1,opt,name=Status,proto3,enum=protobufMessages.ResponseStatus" json:"Status,omitempty"` - ErrorResponse *ErrorResponseMessage `protobuf:"bytes,2,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` - RequestId *string `protobuf:"bytes,3,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` - Ts string `protobuf:"bytes,4,opt,name=Ts,proto3" json:"Ts,omitempty"` -} - -func (x *SetMessage_ResponseMessage) Reset() { - *x = SetMessage_ResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetMessage_ResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetMessage_ResponseMessage) ProtoMessage() {} - -func (x *SetMessage_ResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 SetMessage_ResponseMessage.ProtoReflect.Descriptor instead. -func (*SetMessage_ResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{4, 1} -} - -func (x *SetMessage_ResponseMessage) GetStatus() ResponseStatus { - if x != nil { - return x.Status - } - return ResponseStatus_SUCCESS -} - -func (x *SetMessage_ResponseMessage) GetErrorResponse() *ErrorResponseMessage { - if x != nil { - return x.ErrorResponse - } - return nil -} - -func (x *SetMessage_ResponseMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -func (x *SetMessage_ResponseMessage) GetTs() string { - if x != nil { - return x.Ts - } - return "" -} - -type SubscribeMessage_RequestMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path string `protobuf:"bytes,1,opt,name=Path,proto3" json:"Path,omitempty"` - Filter *FilterExpressions `protobuf:"bytes,2,opt,name=Filter,proto3,oneof" json:"Filter,omitempty"` - Authorization *string `protobuf:"bytes,3,opt,name=Authorization,proto3,oneof" json:"Authorization,omitempty"` - RequestId string `protobuf:"bytes,4,opt,name=RequestId,proto3" json:"RequestId,omitempty"` -} - -func (x *SubscribeMessage_RequestMessage) Reset() { - *x = SubscribeMessage_RequestMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeMessage_RequestMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeMessage_RequestMessage) ProtoMessage() {} - -func (x *SubscribeMessage_RequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_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 SubscribeMessage_RequestMessage.ProtoReflect.Descriptor instead. -func (*SubscribeMessage_RequestMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{5, 0} -} - -func (x *SubscribeMessage_RequestMessage) GetPath() string { - if x != nil { - return x.Path - } - return "" -} - -func (x *SubscribeMessage_RequestMessage) GetFilter() *FilterExpressions { - if x != nil { - return x.Filter - } - return nil -} - -func (x *SubscribeMessage_RequestMessage) GetAuthorization() string { - if x != nil && x.Authorization != nil { - return *x.Authorization - } - return "" -} - -func (x *SubscribeMessage_RequestMessage) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -type SubscribeMessage_ResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status ResponseStatus `protobuf:"varint,1,opt,name=Status,proto3,enum=protobufMessages.ResponseStatus" json:"Status,omitempty"` - ErrorResponse *ErrorResponseMessage `protobuf:"bytes,2,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` - SubscriptionId string `protobuf:"bytes,3,opt,name=SubscriptionId,proto3" json:"SubscriptionId,omitempty"` - RequestId string `protobuf:"bytes,4,opt,name=RequestId,proto3" json:"RequestId,omitempty"` - Ts string `protobuf:"bytes,5,opt,name=Ts,proto3" json:"Ts,omitempty"` -} - -func (x *SubscribeMessage_ResponseMessage) Reset() { - *x = SubscribeMessage_ResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeMessage_ResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeMessage_ResponseMessage) ProtoMessage() {} - -func (x *SubscribeMessage_ResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[25] - 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 SubscribeMessage_ResponseMessage.ProtoReflect.Descriptor instead. -func (*SubscribeMessage_ResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{5, 1} -} - -func (x *SubscribeMessage_ResponseMessage) GetStatus() ResponseStatus { - if x != nil { - return x.Status - } - return ResponseStatus_SUCCESS -} - -func (x *SubscribeMessage_ResponseMessage) GetErrorResponse() *ErrorResponseMessage { - if x != nil { - return x.ErrorResponse - } - return nil -} - -func (x *SubscribeMessage_ResponseMessage) GetSubscriptionId() string { - if x != nil { - return x.SubscriptionId - } - return "" -} - -func (x *SubscribeMessage_ResponseMessage) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -func (x *SubscribeMessage_ResponseMessage) GetTs() string { - if x != nil { - return x.Ts - } - return "" -} - -type SubscribeMessage_NotificationMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SubscriptionId string `protobuf:"bytes,1,opt,name=SubscriptionId,proto3" json:"SubscriptionId,omitempty"` - Status ResponseStatus `protobuf:"varint,2,opt,name=Status,proto3,enum=protobufMessages.ResponseStatus" json:"Status,omitempty"` - SuccessResponse *SubscribeMessage_NotificationMessage_SuccessResponseMessage `protobuf:"bytes,3,opt,name=SuccessResponse,proto3,oneof" json:"SuccessResponse,omitempty"` - ErrorResponse *ErrorResponseMessage `protobuf:"bytes,4,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` - Ts *string `protobuf:"bytes,5,opt,name=Ts,proto3,oneof" json:"Ts,omitempty"` - TsC *int32 `protobuf:"varint,6,opt,name=TsC,proto3,oneof" json:"TsC,omitempty"` -} - -func (x *SubscribeMessage_NotificationMessage) Reset() { - *x = SubscribeMessage_NotificationMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeMessage_NotificationMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeMessage_NotificationMessage) ProtoMessage() {} - -func (x *SubscribeMessage_NotificationMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[26] - 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 SubscribeMessage_NotificationMessage.ProtoReflect.Descriptor instead. -func (*SubscribeMessage_NotificationMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{5, 2} -} - -func (x *SubscribeMessage_NotificationMessage) GetSubscriptionId() string { - if x != nil { - return x.SubscriptionId - } - return "" -} - -func (x *SubscribeMessage_NotificationMessage) GetStatus() ResponseStatus { - if x != nil { - return x.Status - } - return ResponseStatus_SUCCESS -} - -func (x *SubscribeMessage_NotificationMessage) GetSuccessResponse() *SubscribeMessage_NotificationMessage_SuccessResponseMessage { - if x != nil { - return x.SuccessResponse - } - return nil -} - -func (x *SubscribeMessage_NotificationMessage) GetErrorResponse() *ErrorResponseMessage { - if x != nil { - return x.ErrorResponse - } - return nil -} - -func (x *SubscribeMessage_NotificationMessage) GetTs() string { - if x != nil && x.Ts != nil { - return *x.Ts - } - return "" -} - -func (x *SubscribeMessage_NotificationMessage) GetTsC() int32 { - if x != nil && x.TsC != nil { - return *x.TsC - } - return 0 -} - -type SubscribeMessage_NotificationMessage_SuccessResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DataPack *DataPackages `protobuf:"bytes,1,opt,name=DataPack,proto3" json:"DataPack,omitempty"` -} - -func (x *SubscribeMessage_NotificationMessage_SuccessResponseMessage) Reset() { - *x = SubscribeMessage_NotificationMessage_SuccessResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeMessage_NotificationMessage_SuccessResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeMessage_NotificationMessage_SuccessResponseMessage) ProtoMessage() {} - -func (x *SubscribeMessage_NotificationMessage_SuccessResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[27] - 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 SubscribeMessage_NotificationMessage_SuccessResponseMessage.ProtoReflect.Descriptor instead. -func (*SubscribeMessage_NotificationMessage_SuccessResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{5, 2, 0} -} - -func (x *SubscribeMessage_NotificationMessage_SuccessResponseMessage) GetDataPack() *DataPackages { - if x != nil { - return x.DataPack - } - return nil -} - -type UnSubscribeMessage_RequestMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SubscriptionId string `protobuf:"bytes,1,opt,name=SubscriptionId,proto3" json:"SubscriptionId,omitempty"` - RequestId *string `protobuf:"bytes,2,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` -} - -func (x *UnSubscribeMessage_RequestMessage) Reset() { - *x = UnSubscribeMessage_RequestMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnSubscribeMessage_RequestMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnSubscribeMessage_RequestMessage) ProtoMessage() {} - -func (x *UnSubscribeMessage_RequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[28] - 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 UnSubscribeMessage_RequestMessage.ProtoReflect.Descriptor instead. -func (*UnSubscribeMessage_RequestMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{6, 0} -} - -func (x *UnSubscribeMessage_RequestMessage) GetSubscriptionId() string { - if x != nil { - return x.SubscriptionId - } - return "" -} - -func (x *UnSubscribeMessage_RequestMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -type UnSubscribeMessage_ResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SubscriptionId string `protobuf:"bytes,1,opt,name=SubscriptionId,proto3" json:"SubscriptionId,omitempty"` - Status ResponseStatus `protobuf:"varint,2,opt,name=Status,proto3,enum=protobufMessages.ResponseStatus" json:"Status,omitempty"` - ErrorResponse *ErrorResponseMessage `protobuf:"bytes,3,opt,name=ErrorResponse,proto3,oneof" json:"ErrorResponse,omitempty"` - RequestId *string `protobuf:"bytes,4,opt,name=RequestId,proto3,oneof" json:"RequestId,omitempty"` - Ts string `protobuf:"bytes,5,opt,name=Ts,proto3" json:"Ts,omitempty"` -} - -func (x *UnSubscribeMessage_ResponseMessage) Reset() { - *x = UnSubscribeMessage_ResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_VISSv3messages_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnSubscribeMessage_ResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnSubscribeMessage_ResponseMessage) ProtoMessage() {} - -func (x *UnSubscribeMessage_ResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_VISSv3messages_proto_msgTypes[29] - 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 UnSubscribeMessage_ResponseMessage.ProtoReflect.Descriptor instead. -func (*UnSubscribeMessage_ResponseMessage) Descriptor() ([]byte, []int) { - return file_VISSv3messages_proto_rawDescGZIP(), []int{6, 1} -} - -func (x *UnSubscribeMessage_ResponseMessage) GetSubscriptionId() string { - if x != nil { - return x.SubscriptionId - } - return "" -} - -func (x *UnSubscribeMessage_ResponseMessage) GetStatus() ResponseStatus { - if x != nil { - return x.Status - } - return ResponseStatus_SUCCESS -} - -func (x *UnSubscribeMessage_ResponseMessage) GetErrorResponse() *ErrorResponseMessage { - if x != nil { - return x.ErrorResponse - } - return nil -} - -func (x *UnSubscribeMessage_ResponseMessage) GetRequestId() string { - if x != nil && x.RequestId != nil { - return *x.RequestId - } - return "" -} - -func (x *UnSubscribeMessage_ResponseMessage) GetTs() string { - if x != nil { - return x.Ts - } - return "" -} - -var File_VISSv3messages_proto protoreflect.FileDescriptor - -var file_VISSv3messages_proto_rawDesc = []byte{ - 0x0a, 0x14, 0x56, 0x49, 0x53, 0x53, 0x76, 0x33, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x14, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x06, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xd7, 0x0d, 0x0a, - 0x11, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x1a, 0xed, 0x0c, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x05, 0x46, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x46, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x56, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x40, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xc1, 0x0a, 0x0a, 0x0b, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x70, 0x0a, 0x0a, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x50, 0x61, 0x74, 0x68, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, 0x7c, 0x0a, 0x0e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6b, 0x0a, 0x0a, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x73, 0x0a, 0x0b, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x02, 0x52, 0x0b, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x79, 0x0a, 0x0d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x48, 0x03, 0x52, 0x0d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x75, 0x72, 0x76, - 0x65, 0x6c, 0x6f, 0x67, 0x88, 0x01, 0x01, 0x12, 0x76, 0x0a, 0x0c, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x04, 0x52, 0x0c, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x79, 0x0a, 0x0d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x05, 0x52, 0x0d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x1a, 0x30, 0x0a, 0x0a, 0x50, 0x61, - 0x74, 0x68, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x1a, 0x28, 0x0a, 0x0e, - 0x54, 0x69, 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0x4e, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x4c, 0x6f, 0x67, - 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x6f, - 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x6f, - 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x1a, 0x47, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x4c, 0x6f, - 0x67, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x44, - 0x69, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x69, 0x66, 0x66, 0x1a, - 0x41, 0x0a, 0x0d, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x61, 0x78, 0x45, 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x4d, 0x61, 0x78, 0x45, 0x72, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x75, 0x66, 0x53, - 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x42, 0x75, 0x66, 0x53, 0x69, - 0x7a, 0x65, 0x1a, 0x2e, 0x0a, 0x0c, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x1a, 0x23, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x72, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x54, 0x72, 0x65, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x62, 0x61, 0x73, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x43, 0x75, 0x72, 0x76, 0x65, 0x6c, 0x6f, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x66, - 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, - 0x50, 0x41, 0x54, 0x48, 0x53, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x42, - 0x41, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, - 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x03, 0x12, 0x0c, 0x0a, - 0x08, 0x43, 0x55, 0x52, 0x56, 0x45, 0x4c, 0x4f, 0x47, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x48, - 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x45, 0x54, 0x41, - 0x44, 0x41, 0x54, 0x41, 0x10, 0x06, 0x22, 0xc9, 0x02, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x1a, 0xf8, 0x01, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, - 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, - 0x12, 0x19, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x68, 0x43, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x01, 0x52, 0x05, 0x50, 0x61, 0x74, 0x68, 0x43, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x02, 0x44, - 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x02, 0x44, - 0x70, 0x1a, 0x5c, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x02, 0x54, 0x73, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x54, 0x73, 0x43, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x03, 0x54, 0x73, 0x43, 0x88, 0x01, 0x01, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x54, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x54, 0x73, 0x43, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x50, 0x61, 0x74, 0x68, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x50, 0x61, 0x74, - 0x68, 0x43, 0x22, 0x95, 0x08, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x33, 0x0a, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4a, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x48, 0x01, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, - 0x01, 0x1a, 0xdf, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x40, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, - 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x41, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x1a, 0xbb, 0x04, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x72, 0x0a, 0x0f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, - 0x00, 0x52, 0x0f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x54, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x02, 0x54, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x15, 0x0a, 0x03, 0x54, 0x73, 0x43, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, - 0x03, 0x54, 0x73, 0x43, 0x88, 0x01, 0x01, 0x1a, 0x94, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, - 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, - 0x6b, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x54, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x54, 0x73, - 0x43, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x94, 0x05, 0x0a, 0x0a, 0x53, - 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x4d, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4a, - 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x08, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, - 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x08, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x1a, 0xa8, 0x01, 0x0a, 0x0e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x29, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x1a, 0xf1, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x48, 0x00, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x54, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xd3, 0x0a, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x07, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, - 0x00, 0x52, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, - 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x48, 0x02, 0x52, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x1a, 0xcc, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x40, 0x0a, 0x06, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, - 0x00, 0x52, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, - 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x1a, 0x86, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x51, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, - 0x00, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x54, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0xff, 0x03, 0x0a, 0x13, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x06, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x7c, 0x0a, 0x0f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, - 0x0f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x48, 0x01, 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x02, 0x54, 0x73, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x54, - 0x73, 0x43, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x03, 0x54, 0x73, 0x43, 0x88, - 0x01, 0x01, 0x1a, 0x54, 0x0a, 0x16, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x08, - 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x52, 0x08, - 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x05, - 0x0a, 0x03, 0x5f, 0x54, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x54, 0x73, 0x43, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x05, 0x0a, 0x12, 0x55, 0x6e, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, - 0x0a, 0x05, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x4d, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, - 0x01, 0x52, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x69, - 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x1a, 0x99, 0x02, 0x0a, 0x0f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, - 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x51, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, - 0x52, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x54, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf6, - 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x52, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x33, 0x0a, 0x03, 0x47, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x03, 0x47, 0x65, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x33, 0x0a, 0x03, 0x53, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x01, 0x52, 0x03, 0x53, - 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x02, 0x52, 0x09, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x0b, - 0x55, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x03, 0x52, 0x0b, 0x55, 0x6e, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x47, 0x65, - 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x53, 0x65, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x55, 0x6e, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x2a, 0x41, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, - 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, - 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, - 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x10, 0x03, 0x2a, 0x3a, 0x0a, 0x0b, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x51, - 0x55, 0x45, 0x53, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, - 0x53, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x2a, 0x28, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, - 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, - 0x42, 0x04, 0x5a, 0x02, 0x2e, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_VISSv3messages_proto_rawDescOnce sync.Once - file_VISSv3messages_proto_rawDescData = file_VISSv3messages_proto_rawDesc -) - -func file_VISSv3messages_proto_rawDescGZIP() []byte { - file_VISSv3messages_proto_rawDescOnce.Do(func() { - file_VISSv3messages_proto_rawDescData = protoimpl.X.CompressGZIP(file_VISSv3messages_proto_rawDescData) - }) - return file_VISSv3messages_proto_rawDescData -} - -var file_VISSv3messages_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_VISSv3messages_proto_msgTypes = make([]protoimpl.MessageInfo, 30) -var file_VISSv3messages_proto_goTypes = []interface{}{ - (MessageMethod)(0), // 0: protobufMessages.MessageMethod - (MessageType)(0), // 1: protobufMessages.MessageType - (ResponseStatus)(0), // 2: protobufMessages.ResponseStatus - (FilterExpressions_FilterExpression_FilterType)(0), // 3: protobufMessages.FilterExpressions.FilterExpression.FilterType - (*ErrorResponseMessage)(nil), // 4: protobufMessages.ErrorResponseMessage - (*FilterExpressions)(nil), // 5: protobufMessages.FilterExpressions - (*DataPackages)(nil), // 6: protobufMessages.DataPackages - (*GetMessage)(nil), // 7: protobufMessages.GetMessage - (*SetMessage)(nil), // 8: protobufMessages.SetMessage - (*SubscribeMessage)(nil), // 9: protobufMessages.SubscribeMessage - (*UnSubscribeMessage)(nil), // 10: protobufMessages.UnSubscribeMessage - (*ProtobufMessage)(nil), // 11: protobufMessages.ProtobufMessage - (*FilterExpressions_FilterExpression)(nil), // 12: protobufMessages.FilterExpressions.FilterExpression - (*FilterExpressions_FilterExpression_FilterValue)(nil), // 13: protobufMessages.FilterExpressions.FilterExpression.FilterValue - (*FilterExpressions_FilterExpression_FilterValue_PathsValue)(nil), // 14: protobufMessages.FilterExpressions.FilterExpression.FilterValue.PathsValue - (*FilterExpressions_FilterExpression_FilterValue_TimebasedValue)(nil), // 15: protobufMessages.FilterExpressions.FilterExpression.FilterValue.TimebasedValue - (*FilterExpressions_FilterExpression_FilterValue_RangeValue)(nil), // 16: protobufMessages.FilterExpressions.FilterExpression.FilterValue.RangeValue - (*FilterExpressions_FilterExpression_FilterValue_ChangeValue)(nil), // 17: protobufMessages.FilterExpressions.FilterExpression.FilterValue.ChangeValue - (*FilterExpressions_FilterExpression_FilterValue_CurvelogValue)(nil), // 18: protobufMessages.FilterExpressions.FilterExpression.FilterValue.CurvelogValue - (*FilterExpressions_FilterExpression_FilterValue_HistoryValue)(nil), // 19: protobufMessages.FilterExpressions.FilterExpression.FilterValue.HistoryValue - (*FilterExpressions_FilterExpression_FilterValue_MetadataValue)(nil), // 20: protobufMessages.FilterExpressions.FilterExpression.FilterValue.MetadataValue - (*DataPackages_DataPackage)(nil), // 21: protobufMessages.DataPackages.DataPackage - (*DataPackages_DataPackage_DataPoint)(nil), // 22: protobufMessages.DataPackages.DataPackage.DataPoint - (*GetMessage_RequestMessage)(nil), // 23: protobufMessages.GetMessage.RequestMessage - (*GetMessage_ResponseMessage)(nil), // 24: protobufMessages.GetMessage.ResponseMessage - (*GetMessage_ResponseMessage_SuccessResponseMessage)(nil), // 25: protobufMessages.GetMessage.ResponseMessage.SuccessResponseMessage - (*SetMessage_RequestMessage)(nil), // 26: protobufMessages.SetMessage.RequestMessage - (*SetMessage_ResponseMessage)(nil), // 27: protobufMessages.SetMessage.ResponseMessage - (*SubscribeMessage_RequestMessage)(nil), // 28: protobufMessages.SubscribeMessage.RequestMessage - (*SubscribeMessage_ResponseMessage)(nil), // 29: protobufMessages.SubscribeMessage.ResponseMessage - (*SubscribeMessage_NotificationMessage)(nil), // 30: protobufMessages.SubscribeMessage.NotificationMessage - (*SubscribeMessage_NotificationMessage_SuccessResponseMessage)(nil), // 31: protobufMessages.SubscribeMessage.NotificationMessage.SuccessResponseMessage - (*UnSubscribeMessage_RequestMessage)(nil), // 32: protobufMessages.UnSubscribeMessage.RequestMessage - (*UnSubscribeMessage_ResponseMessage)(nil), // 33: protobufMessages.UnSubscribeMessage.ResponseMessage -} -var file_VISSv3messages_proto_depIdxs = []int32{ - 12, // 0: protobufMessages.FilterExpressions.FilterExp:type_name -> protobufMessages.FilterExpressions.FilterExpression - 21, // 1: protobufMessages.DataPackages.Data:type_name -> protobufMessages.DataPackages.DataPackage - 1, // 2: protobufMessages.GetMessage.MType:type_name -> protobufMessages.MessageType - 23, // 3: protobufMessages.GetMessage.Request:type_name -> protobufMessages.GetMessage.RequestMessage - 24, // 4: protobufMessages.GetMessage.Response:type_name -> protobufMessages.GetMessage.ResponseMessage - 1, // 5: protobufMessages.SetMessage.MType:type_name -> protobufMessages.MessageType - 26, // 6: protobufMessages.SetMessage.Request:type_name -> protobufMessages.SetMessage.RequestMessage - 27, // 7: protobufMessages.SetMessage.Response:type_name -> protobufMessages.SetMessage.ResponseMessage - 1, // 8: protobufMessages.SubscribeMessage.MType:type_name -> protobufMessages.MessageType - 28, // 9: protobufMessages.SubscribeMessage.Request:type_name -> protobufMessages.SubscribeMessage.RequestMessage - 29, // 10: protobufMessages.SubscribeMessage.Response:type_name -> protobufMessages.SubscribeMessage.ResponseMessage - 30, // 11: protobufMessages.SubscribeMessage.Notification:type_name -> protobufMessages.SubscribeMessage.NotificationMessage - 1, // 12: protobufMessages.UnSubscribeMessage.MType:type_name -> protobufMessages.MessageType - 32, // 13: protobufMessages.UnSubscribeMessage.Request:type_name -> protobufMessages.UnSubscribeMessage.RequestMessage - 33, // 14: protobufMessages.UnSubscribeMessage.Response:type_name -> protobufMessages.UnSubscribeMessage.ResponseMessage - 0, // 15: protobufMessages.ProtobufMessage.Method:type_name -> protobufMessages.MessageMethod - 7, // 16: protobufMessages.ProtobufMessage.Get:type_name -> protobufMessages.GetMessage - 8, // 17: protobufMessages.ProtobufMessage.Set:type_name -> protobufMessages.SetMessage - 9, // 18: protobufMessages.ProtobufMessage.Subscribe:type_name -> protobufMessages.SubscribeMessage - 10, // 19: protobufMessages.ProtobufMessage.UnSubscribe:type_name -> protobufMessages.UnSubscribeMessage - 3, // 20: protobufMessages.FilterExpressions.FilterExpression.FType:type_name -> protobufMessages.FilterExpressions.FilterExpression.FilterType - 13, // 21: protobufMessages.FilterExpressions.FilterExpression.Value:type_name -> protobufMessages.FilterExpressions.FilterExpression.FilterValue - 14, // 22: protobufMessages.FilterExpressions.FilterExpression.FilterValue.ValuePaths:type_name -> protobufMessages.FilterExpressions.FilterExpression.FilterValue.PathsValue - 15, // 23: protobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueTimebased:type_name -> protobufMessages.FilterExpressions.FilterExpression.FilterValue.TimebasedValue - 16, // 24: protobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueRange:type_name -> protobufMessages.FilterExpressions.FilterExpression.FilterValue.RangeValue - 17, // 25: protobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueChange:type_name -> protobufMessages.FilterExpressions.FilterExpression.FilterValue.ChangeValue - 18, // 26: protobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueCurvelog:type_name -> protobufMessages.FilterExpressions.FilterExpression.FilterValue.CurvelogValue - 19, // 27: protobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueHistory:type_name -> protobufMessages.FilterExpressions.FilterExpression.FilterValue.HistoryValue - 20, // 28: protobufMessages.FilterExpressions.FilterExpression.FilterValue.ValueMetadata:type_name -> protobufMessages.FilterExpressions.FilterExpression.FilterValue.MetadataValue - 22, // 29: protobufMessages.DataPackages.DataPackage.Dp:type_name -> protobufMessages.DataPackages.DataPackage.DataPoint - 5, // 30: protobufMessages.GetMessage.RequestMessage.Filter:type_name -> protobufMessages.FilterExpressions - 2, // 31: protobufMessages.GetMessage.ResponseMessage.Status:type_name -> protobufMessages.ResponseStatus - 25, // 32: protobufMessages.GetMessage.ResponseMessage.SuccessResponse:type_name -> protobufMessages.GetMessage.ResponseMessage.SuccessResponseMessage - 4, // 33: protobufMessages.GetMessage.ResponseMessage.ErrorResponse:type_name -> protobufMessages.ErrorResponseMessage - 6, // 34: protobufMessages.GetMessage.ResponseMessage.SuccessResponseMessage.DataPack:type_name -> protobufMessages.DataPackages - 2, // 35: protobufMessages.SetMessage.ResponseMessage.Status:type_name -> protobufMessages.ResponseStatus - 4, // 36: protobufMessages.SetMessage.ResponseMessage.ErrorResponse:type_name -> protobufMessages.ErrorResponseMessage - 5, // 37: protobufMessages.SubscribeMessage.RequestMessage.Filter:type_name -> protobufMessages.FilterExpressions - 2, // 38: protobufMessages.SubscribeMessage.ResponseMessage.Status:type_name -> protobufMessages.ResponseStatus - 4, // 39: protobufMessages.SubscribeMessage.ResponseMessage.ErrorResponse:type_name -> protobufMessages.ErrorResponseMessage - 2, // 40: protobufMessages.SubscribeMessage.NotificationMessage.Status:type_name -> protobufMessages.ResponseStatus - 31, // 41: protobufMessages.SubscribeMessage.NotificationMessage.SuccessResponse:type_name -> protobufMessages.SubscribeMessage.NotificationMessage.SuccessResponseMessage - 4, // 42: protobufMessages.SubscribeMessage.NotificationMessage.ErrorResponse:type_name -> protobufMessages.ErrorResponseMessage - 6, // 43: protobufMessages.SubscribeMessage.NotificationMessage.SuccessResponseMessage.DataPack:type_name -> protobufMessages.DataPackages - 2, // 44: protobufMessages.UnSubscribeMessage.ResponseMessage.Status:type_name -> protobufMessages.ResponseStatus - 4, // 45: protobufMessages.UnSubscribeMessage.ResponseMessage.ErrorResponse:type_name -> protobufMessages.ErrorResponseMessage - 46, // [46:46] is the sub-list for method output_type - 46, // [46:46] is the sub-list for method input_type - 46, // [46:46] is the sub-list for extension type_name - 46, // [46:46] is the sub-list for extension extendee - 0, // [0:46] is the sub-list for field type_name -} - -func init() { file_VISSv3messages_proto_init() } -func file_VISSv3messages_proto_init() { - if File_VISSv3messages_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_VISSv3messages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ErrorResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataPackages); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnSubscribeMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProtobufMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_PathsValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_TimebasedValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_RangeValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_ChangeValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_CurvelogValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_HistoryValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FilterExpressions_FilterExpression_FilterValue_MetadataValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataPackages_DataPackage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataPackages_DataPackage_DataPoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMessage_RequestMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMessage_ResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMessage_ResponseMessage_SuccessResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetMessage_RequestMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetMessage_ResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeMessage_RequestMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeMessage_ResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeMessage_NotificationMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeMessage_NotificationMessage_SuccessResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnSubscribeMessage_RequestMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_VISSv3messages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnSubscribeMessage_ResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_VISSv3messages_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[3].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[4].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[5].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[6].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[7].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[9].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[17].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[18].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[19].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[20].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[21].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[22].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[23].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[24].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[25].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[26].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[28].OneofWrappers = []interface{}{} - file_VISSv3messages_proto_msgTypes[29].OneofWrappers = []interface{}{} - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_VISSv3messages_proto_rawDesc, - NumEnums: 4, - NumMessages: 30, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_VISSv3messages_proto_goTypes, - DependencyIndexes: file_VISSv3messages_proto_depIdxs, - EnumInfos: file_VISSv3messages_proto_enumTypes, - MessageInfos: file_VISSv3messages_proto_msgTypes, - }.Build() - File_VISSv3messages_proto = out.File - file_VISSv3messages_proto_rawDesc = nil - file_VISSv3messages_proto_goTypes = nil - file_VISSv3messages_proto_depIdxs = nil -} diff --git a/server/vissv2server/grpcMgr/grpcMgr.go b/server/vissv2server/grpcMgr/grpcMgr.go index fc10f968..02c05218 100644 --- a/server/vissv2server/grpcMgr/grpcMgr.go +++ b/server/vissv2server/grpcMgr/grpcMgr.go @@ -39,7 +39,7 @@ var clientBackendChan = []chan string{ } type Server struct { - pb.UnimplementedVISSv2Server + pb.UnimplementedVISSServer } type GrpcRoutingData struct { @@ -203,7 +203,7 @@ func initGrpcServer() { portNo = "8887" utils.Info.Printf("portNo =%s", portNo) } - pb.RegisterVISSv2Server(server, &Server{}) + pb.RegisterVISSServer(server, &Server{}) for { lis, err := net.Listen("tcp", "0.0.0.0:"+portNo) if err != nil { @@ -219,38 +219,38 @@ func initGrpcServer() { } func (s *Server) GetRequest(ctx context.Context, in *pb.GetRequestMessage) (*pb.GetResponseMessage, error) { - vssReq := utils.GetRequestPbToJson(in, grpcCompression) + vssReq := utils.GetRequestPbToJson(in) grpcResponseChan := make(chan string) var grpcRequestMessage = GrpcRequestMessage{vssReq, grpcResponseChan} utils.Info.Println(grpcRequestMessage.VssReq) grpcClientChan[0] <- grpcRequestMessage // forward to mgr hub, vssResp := <-grpcResponseChan // and wait for response - pbResp := utils.GetResponseJsonToPb(vssResp, grpcCompression) + pbResp := utils.GetResponseJsonToPb(vssResp) return pbResp, nil } func (s *Server) SetRequest(ctx context.Context, in *pb.SetRequestMessage) (*pb.SetResponseMessage, error) { - vssReq := utils.SetRequestPbToJson(in, grpcCompression) + vssReq := utils.SetRequestPbToJson(in) grpcResponseChan := make(chan string) var grpcRequestMessage = GrpcRequestMessage{vssReq, grpcResponseChan} grpcClientChan[0] <- grpcRequestMessage // forward to mgr hub, vssResp := <-grpcResponseChan // and wait for response - pbResp := utils.SetResponseJsonToPb(vssResp, grpcCompression) + pbResp := utils.SetResponseJsonToPb(vssResp) return pbResp, nil } func (s *Server) UnsubscribeRequest(ctx context.Context, in *pb.UnsubscribeRequestMessage) (*pb.UnsubscribeResponseMessage, error) { - vssReq := utils.UnsubscribeRequestPbToJson(in, grpcCompression) + vssReq := utils.UnsubscribeRequestPbToJson(in) grpcResponseChan := make(chan string) var grpcRequestMessage = GrpcRequestMessage{vssReq, grpcResponseChan} grpcClientChan[0] <- grpcRequestMessage // forward to mgr hub, vssResp := <-grpcResponseChan // and wait for response - pbResp := utils.UnsubscribeResponseJsonToPb(vssResp, grpcCompression) + pbResp := utils.UnsubscribeResponseJsonToPb(vssResp) return pbResp, nil } -func (s *Server) SubscribeRequest(in *pb.SubscribeRequestMessage, stream pb.VISSv2_SubscribeRequestServer) error { - vssReq := utils.SubscribeRequestPbToJson(in, grpcCompression) +func (s *Server) SubscribeRequest(in *pb.SubscribeRequestMessage, stream pb.VISS_SubscribeRequestServer) error { + vssReq := utils.SubscribeRequestPbToJson(in) grpcResponseChan := make(chan string) var grpcRequestMessage = GrpcRequestMessage{vssReq, grpcResponseChan} grpcClientChan[0] <- grpcRequestMessage // forward to mgr hub @@ -275,7 +275,7 @@ func (s *Server) SubscribeRequest(in *pb.SubscribeRequestMessage, stream pb.VISS if subscribeClientId == -1 { subscribeClientId, _ = getSubscribeRoutingData(vssResp) } - pbResp := utils.SubscribeStreamJsonToPb(vssResp, grpcCompression) + pbResp := utils.SubscribeStreamJsonToPb(vssResp) if err := stream.Send(pbResp); err != nil { resetGrpcRoutingData(subscribeClientId) return err diff --git a/utils/README.md b/utils/README.md deleted file mode 100644 index eb0c2e07..00000000 --- a/utils/README.md +++ /dev/null @@ -1,89 +0,0 @@ -**(C) 2020 Geotab Inc**
- -All files and artifacts in this repository are licensed under the provisions of the license provided by the LICENSE file in this repository. - -Two experimental (i. e. not part of the VISSv2 standard) compression solutions are implemented:
- - Protobuf: Based on protobuf. For more information, see below, in README in the protobuf, and client/client-1.0 directories. - The code that transforms payload messages from json to protobuf, and back, are found in pbutils.go.
- - - Proprietary: Based on a proprietary algorithm that is explained below.
- The code that transforms payload messages from json to protobuf, and back, are found in computils.go.
- The proprietary solution currently only supports requests where the path points to a leaf node in the VSS tree.
- -The compression solutions are currently supported over the websocket transport only, where it is signalled in the subprotocol parameter at session initiation. For HTTP support, it could be signalled in a header. For MQTT, a new key-value parameter could be added to the application protocol. - -# Proprietary reference compression design - -The design is context aware, i. e. it knows that the payload is JSON, and the set of key-value pairs that can be expected. -As the payload sizes are typically less than 100 characters, this is probably necessary to achieve high compression ratios. -Tests with standard compression algorithms like GZIP, LZW, and DEFLATE showed comparably low compression ratios.
- -The overall compression consists of the following compression features: -1. Paths are replaced by a two byte index from the list of paths found in vsspathlist.json. -2. Fixed keywords, such as "action", "path", "get", etc., are replaced by a one byte value. -3. Timestamps are replaced by a four byte value. -4. The value part for the keys "value", "requestId", "subscriptionId" are replaced by a binary value, if possible. -5. JSON reserved characters are removed in the case their excistence in a certain position is a MUST according to the JSON format rules. -6. Payload data that does not fall under any of the features above is left uncompressed. - -Below follows further details about the compression features.
- -1. The list vsspathist.json is generated by the VISSv2 server at every startup. -The input to the server comes from the "vss_vissv2.binary" file, which is in its turn generated by the VSS Tools, -that take the VSS tree as represented by the vspec files from the VSS repo as input. -This means that if the VISSv2 server starts up with an updated VSS tree, then the clients should be aware of this, -and get a copy of the updated vsspathlist.json file from the server. -This could be handled by a request to the server asking for this file, but the VISSv2 spec does not currenly support that.
-The pathlist in the file generated by the VISSv2 server is ordered, so searches in the list can be optimised.
-The list index is represented by two bytes, which means that a maximum of 65536 paths can be handled. -The list only contains paths for leaf nodes, so this is the maximum number of leaf nodes that the VSS tree can have for this compression feature to work.
- -2. The value replacing the keywords are the index from the kewordlist plus 128. -The reason to add 128 is that an uncompressed UTF8 JSON string only contains byte values less than 128, see an ASCII table. -The keywordlist original is found in the "common.go" source file. It is not expected to change. A client compression impl needs a copy of it.
- -3. The uncompressed timestamps follow the ISO8601 standard and has the format YYYY-MM-DDTHH:MM:SS.ssssssZ
-This is compressed as follows: -- The least significant year digit is represented by four bits. -- The month is represented by four bits. -- The day is represented by five bits. -- The hour is represented by five bits. -- The minute is represented by six bits. -- The second is represented by six bits. - -Subsecond usage is not supported currently. - -The sum of bits above is 30 bits, which fits into 4 bytes as shown below.
- Byte 1 | Byte 2 | Byte 3 | Byte 4
-00yyyymm | mmdddddh | hhhhmmmm | mmssssss
- -The timestamp encoding has the limitation that when the year goes from 2029 to 2030, any messages that are received by a client after the new year has begun, that contain a timestamp from the previous year, will be incorrectly decoded as they will be assigned the year 2039 instead of 2029. -A solution to this could be to use Unix time instead, but then the 2038 problem will be coming. -Another would be for clients to check for this 10-year problem around the time when it becomes likely. Vehicles “should not” respond with too stale data, so a few months after 2030 begins should be max what is needed. - -4. The value types that are supported are integer, float32, and boolean. The first byte is and index from the keywordlist, which also contains this (+128). -The type indicated also sets the number of bytes used for the representation, as shown below. -The type "nuintx" means it is a negative uint value, as all integer values are represented as uints.
-Type | #bytes
-nuint8 | 1
-uint8 | 1
-nuint16 | 2
-uint16v | 2
-nuint24 | 3
-uint24 | 3
-nuint32 | 4
-uint32 | 4
-bool | 1
-float32 | 4
- -The absolute value of integers are compared to the max value of the different types, and the smallest possible size is selected. -Values that are not of any of these types are kept uncompressed. - -5. The following JSON reserved character usages can be removed as at decompression the JSON rules will infer their reinstatement. -- The leading and trailing curly brackets. -- The colon between key and value. -- The comma between JSON data entities. - -6. The fact that data that does not relate to any of the mentioned compression features is left uncompressed leads to that the usage of this compression does not apply any restriction to the syntax scope of VISSv2. It also enables the client to send uncompressed requests, where the response will be compressed. - -The current compression solution does not support service discovery requests. diff --git a/utils/grcputils.go b/utils/grcputils.go index 917eafa5..682c2e46 100644 --- a/utils/grcputils.go +++ b/utils/grcputils.go @@ -14,22 +14,17 @@ import ( "strconv" ) -var currentCompression Encoding - -func GetRequestPbToJson(pbGetReq *pb.GetRequestMessage, compression Encoding) string { - currentCompression = compression +func GetRequestPbToJson(pbGetReq *pb.GetRequestMessage) string { jsonMessage := populateJsonFromProtoGetReq(pbGetReq) return jsonMessage } -func GetResponsePbToJson(pbGetResp *pb.GetResponseMessage, compression Encoding) string { - currentCompression = compression +func GetResponsePbToJson(pbGetResp *pb.GetResponseMessage) string { jsonMessage := populateJsonFromProtoGetResp(pbGetResp) return jsonMessage } -func GetRequestJsonToPb(vssGetReq string, compression Encoding) *pb.GetRequestMessage { - currentCompression = compression +func GetRequestJsonToPb(vssGetReq string) *pb.GetRequestMessage { var getReqMessageMap map[string]interface{} err := json.Unmarshal([]byte(vssGetReq), &getReqMessageMap) if err != nil { @@ -41,9 +36,7 @@ func GetRequestJsonToPb(vssGetReq string, compression Encoding) *pb.GetRequestMe return pbGetRequestMessage } -func GetResponseJsonToPb(vssGetResp string, compression Encoding) *pb.GetResponseMessage { - currentCompression = compression - +func GetResponseJsonToPb(vssGetResp string) *pb.GetResponseMessage { var getRespMessageMap map[string]interface{} err := json.Unmarshal([]byte(vssGetResp), &getRespMessageMap) if err != nil { @@ -55,20 +48,17 @@ func GetResponseJsonToPb(vssGetResp string, compression Encoding) *pb.GetRespons return pbGetResponseMessage } -func SetRequestPbToJson(pbSetReq *pb.SetRequestMessage, compression Encoding) string { - currentCompression = compression +func SetRequestPbToJson(pbSetReq *pb.SetRequestMessage) string { jsonMessage := populateJsonFromProtoSetReq(pbSetReq) return jsonMessage } -func SetResponsePbToJson(pbSetResp *pb.SetResponseMessage, compression Encoding) string { - currentCompression = compression +func SetResponsePbToJson(pbSetResp *pb.SetResponseMessage) string { jsonMessage := populateJsonFromProtoSetResp(pbSetResp) return jsonMessage } -func SetRequestJsonToPb(vssSetReq string, compression Encoding) *pb.SetRequestMessage { - currentCompression = compression +func SetRequestJsonToPb(vssSetReq string) *pb.SetRequestMessage { var setReqMessageMap map[string]interface{} err := json.Unmarshal([]byte(vssSetReq), &setReqMessageMap) if err != nil { @@ -80,8 +70,7 @@ func SetRequestJsonToPb(vssSetReq string, compression Encoding) *pb.SetRequestMe return pbSetRequestMessage } -func SetResponseJsonToPb(vssSetResp string, compression Encoding) *pb.SetResponseMessage { - currentCompression = compression +func SetResponseJsonToPb(vssSetResp string) *pb.SetResponseMessage { var setRespMessageMap map[string]interface{} err := json.Unmarshal([]byte(vssSetResp), &setRespMessageMap) if err != nil { @@ -93,20 +82,17 @@ func SetResponseJsonToPb(vssSetResp string, compression Encoding) *pb.SetRespons return pbSetResponseMessage } -func SubscribeRequestPbToJson(pbSubscribeReq *pb.SubscribeRequestMessage, compression Encoding) string { - currentCompression = compression +func SubscribeRequestPbToJson(pbSubscribeReq *pb.SubscribeRequestMessage) string { jsonMessage := populateJsonFromProtoSubscribeReq(pbSubscribeReq) return jsonMessage } -func SubscribeStreamPbToJson(pbSubscribeResp *pb.SubscribeStreamMessage, compression Encoding) string { - currentCompression = compression +func SubscribeStreamPbToJson(pbSubscribeResp *pb.SubscribeStreamMessage) string { jsonMessage := populateJsonFromProtoSubscribeStream(pbSubscribeResp) return jsonMessage } -func SubscribeRequestJsonToPb(vssSubscribeReq string, compression Encoding) *pb.SubscribeRequestMessage { - currentCompression = compression +func SubscribeRequestJsonToPb(vssSubscribeReq string) *pb.SubscribeRequestMessage { var subscribeReqMessageMap map[string]interface{} err := json.Unmarshal([]byte(vssSubscribeReq), &subscribeReqMessageMap) if err != nil { @@ -118,8 +104,7 @@ func SubscribeRequestJsonToPb(vssSubscribeReq string, compression Encoding) *pb. return pbSubscribeRequestMessage } -func SubscribeStreamJsonToPb(vssSubscribeStream string, compression Encoding) *pb.SubscribeStreamMessage { - currentCompression = compression +func SubscribeStreamJsonToPb(vssSubscribeStream string) *pb.SubscribeStreamMessage { var subscribeStreamMessageMap map[string]interface{} err := json.Unmarshal([]byte(vssSubscribeStream), &subscribeStreamMessageMap) if err != nil { @@ -131,20 +116,17 @@ func SubscribeStreamJsonToPb(vssSubscribeStream string, compression Encoding) *p return pbSubscribeStreamMessage } -func UnsubscribeRequestPbToJson(pbUnsubscribeReq *pb.UnsubscribeRequestMessage, compression Encoding) string { - currentCompression = compression +func UnsubscribeRequestPbToJson(pbUnsubscribeReq *pb.UnsubscribeRequestMessage) string { jsonMessage := populateJsonFromProtoUnsubscribeReq(pbUnsubscribeReq) return jsonMessage } -func UnsubscribeResponsePbToJson(pbUnsubscribeResp *pb.UnsubscribeResponseMessage, compression Encoding) string { - currentCompression = compression +func UnsubscribeResponsePbToJson(pbUnsubscribeResp *pb.UnsubscribeResponseMessage) string { jsonMessage := populateJsonFromProtoUnsubscribeResp(pbUnsubscribeResp) return jsonMessage } -func UnsubscribeRequestJsonToPb(vssUnsubscribeReq string, compression Encoding) *pb.UnsubscribeRequestMessage { - currentCompression = compression +func UnsubscribeRequestJsonToPb(vssUnsubscribeReq string) *pb.UnsubscribeRequestMessage { var unsubscribeReqMessageMap map[string]interface{} err := json.Unmarshal([]byte(vssUnsubscribeReq), &unsubscribeReqMessageMap) if err != nil { @@ -156,8 +138,7 @@ func UnsubscribeRequestJsonToPb(vssUnsubscribeReq string, compression Encoding) return pbUnsubscribeRequestMessage } -func UnsubscribeResponseJsonToPb(vssUnsubscribeResp string, compression Encoding) *pb.UnsubscribeResponseMessage { - currentCompression = compression +func UnsubscribeResponseJsonToPb(vssUnsubscribeResp string) *pb.UnsubscribeResponseMessage { var unsubscribeRespMessageMap map[string]interface{} err := json.Unmarshal([]byte(vssUnsubscribeResp), &unsubscribeRespMessageMap) if err != nil { @@ -169,7 +150,7 @@ func UnsubscribeResponseJsonToPb(vssUnsubscribeResp string, compression Encoding return pbUnsubscribeResponseMessage } -/*func ExtractSubscriptionId(jsonSubResponse string) string { +func ExtractSubscriptionId(jsonSubResponse string) string { var subResponseMap map[string]interface{} err := json.Unmarshal([]byte(jsonSubResponse), &subResponseMap) if err != nil { @@ -177,7 +158,7 @@ func UnsubscribeResponseJsonToPb(vssUnsubscribeResp string, compression Encoding return "" } return subResponseMap["subscriptionId"].(string) -}*/ +} func createGetRequestPb(protoMessage *pb.GetRequestMessage, messageMap map[string]interface{}) { path := messageMap["path"].(string) @@ -211,6 +192,10 @@ func createGetRequestPb(protoMessage *pb.GetRequestMessage, messageMap map[strin auth := messageMap["authorization"].(string) protoMessage.Authorization = &auth } + if messageMap["dc"] != nil { + dataCompression := messageMap["dc"].(string) + protoMessage.DataCompression = &dataCompression + } if messageMap["requestId"] != nil { reqId := messageMap["requestId"].(string) protoMessage.RequestId = &reqId @@ -221,7 +206,7 @@ func createGetResponsePb(protoMessage *pb.GetResponseMessage, messageMap map[str requestId := messageMap["requestId"].(string) protoMessage.RequestId = &requestId ts := messageMap["ts"].(string) - protoMessage.Ts = &ts + protoMessage.Ts = ts if messageMap["authorization"] != nil { auth := messageMap["authorization"].(string) protoMessage.Authorization = &auth @@ -288,7 +273,7 @@ func createDataElement(index int, messageDataMap interface{}) *pb.DataPackages_D } var protoDataElement pb.DataPackages_DataPackage path := dataObject["path"].(string) - protoDataElement.Path = &path + protoDataElement.Path = path numOfDataPointElements := getNumOfDataPointElements(dataObject["dp"]) protoDataElement.Dp = make([]*pb.DataPackages_DataPackage_DataPoint, numOfDataPointElements) for i := 0; i < numOfDataPointElements; i++ { @@ -319,15 +304,15 @@ func createDataPointElement(index int, messageDataPointMap any) *pb.DataPackages var protoDataPointElement pb.DataPackages_DataPackage_DataPoint protoDataPointElement.Value = dataPointObject["value"].(string) ts := dataPointObject["ts"].(string) - protoDataPointElement.Ts = &ts + protoDataPointElement.Ts = ts return &protoDataPointElement } func createPbFilter(index int, filterExpression map[string]interface{}, filter *pb.FilterExpressions) { - filterType := getFilterType(filterExpression["type"].(string)) - filter.FilterExp[index].FType = filterType + filterVariant := getFilterVariant(filterExpression["variant"].(string)) + filter.FilterExp[index].Variant = filterVariant filter.FilterExp[index].Value = &pb.FilterExpressions_FilterExpression_FilterValue{} - switch filterType { + switch filterVariant { case pb.FilterExpressions_FilterExpression_PATHS: filter.FilterExp[index].Value.ValuePaths = &pb.FilterExpressions_FilterExpression_FilterValue_PathsValue{} filter.FilterExp[index].Value.ValuePaths = getPbPathsFilterValue(filterExpression["parameter"]) @@ -420,8 +405,8 @@ func getPbCurvelogFilterValue(filterExpression map[string]interface{}) *pb.Filte return &protoCurvelogValue } -func getFilterType(filterType string) pb.FilterExpressions_FilterExpression_FilterType { - switch filterType { +func getFilterVariant(filterVariant string) pb.FilterExpressions_FilterExpression_FilterVariant { + switch filterVariant { case "paths": return pb.FilterExpressions_FilterExpression_PATHS case "timebased": @@ -471,6 +456,10 @@ func createSubscribeRequestPb(protoMessage *pb.SubscribeRequestMessage, messageM auth := messageMap["authorization"].(string) protoMessage.Authorization = &auth } + if messageMap["dc"] != nil { + dataCompression := messageMap["dc"].(string) + protoMessage.DataCompression = &dataCompression + } if messageMap["requestId"] != nil { reqId := messageMap["requestId"].(string) protoMessage.RequestId = reqId @@ -479,7 +468,7 @@ func createSubscribeRequestPb(protoMessage *pb.SubscribeRequestMessage, messageM func createSubscribeStreamPb(protoMessage *pb.SubscribeStreamMessage, messageMap map[string]interface{}) { if messageMap["action"] == "subscribe" { // RESPONSE - protoMessage.MType = pb.SubscribeResponseType_RESPONSE + protoMessage.MType = pb.SubscribeResponseType_SUB_RESPONSE protoMessage.Response = &pb.SubscribeStreamMessage_SubscribeResponseMessage{} protoMessage.Response.RequestId = messageMap["requestId"].(string) protoMessage.Response.Ts = messageMap["ts"].(string) @@ -498,11 +487,11 @@ func createSubscribeStreamPb(protoMessage *pb.SubscribeStreamMessage, messageMap protoMessage.Response.ErrorResponse = getProtoErrorMessage(messageMap["error"].(map[string]interface{})) } } else { //EVENT - protoMessage.MType = pb.SubscribeResponseType_EVENT + protoMessage.MType = pb.SubscribeResponseType_SUB_EVENT protoMessage.Event = &pb.SubscribeStreamMessage_SubscribeEventMessage{} protoMessage.Event.SubscriptionId = messageMap["subscriptionId"].(string) ts := messageMap["ts"].(string) - protoMessage.Event.Ts = &ts + protoMessage.Event.Ts = ts if messageMap["error"] == nil { protoMessage.Status = pb.ResponseStatus_SUCCESS protoMessage.Event.SuccessResponse = &pb.SubscribeStreamMessage_SubscribeEventMessage_SuccessResponseMessage{} @@ -557,7 +546,6 @@ func createUnsubscribeRequestPb(protoMessage *pb.UnsubscribeRequestMessage, mess } func createUnsubscribeResponsePb(protoMessage *pb.UnsubscribeResponseMessage, messageMap map[string]interface{}) { - protoMessage.SubscriptionId = messageMap["subscriptionId"].(string) if messageMap["requestId"] != nil { reqId := messageMap["requestId"].(string) protoMessage.RequestId = &reqId @@ -576,7 +564,8 @@ func populateJsonFromProtoGetReq(protoMessage *pb.GetRequestMessage) string { jsonMessage := "{" jsonMessage += `"action":"get"` jsonMessage += `,"path":"` + protoMessage.GetPath() + `"` + getJsonFilter(protoMessage.Filter) + - createJSON(protoMessage.GetAuthorization(), "authorization") + createJSON(protoMessage.GetRequestId(), "requestId") + createJSON(protoMessage.GetAuthorization(), "authorization") + createJSON(protoMessage.GetDataCompression(), "dc") + + createJSON(protoMessage.GetRequestId(), "requestId") return jsonMessage + "}" } @@ -615,21 +604,22 @@ func populateJsonFromProtoSubscribeReq(protoMessage *pb.SubscribeRequestMessage) jsonMessage := "{" jsonMessage += `"action":"subscribe"` jsonMessage += `,"path":"` + protoMessage.GetPath() + `"` + getJsonFilter(protoMessage.Filter) + - createJSON(protoMessage.GetAuthorization(), "authorization") + createJSON(protoMessage.GetRequestId(), "requestId") + createJSON(protoMessage.GetAuthorization(), "authorization") + createJSON(protoMessage.GetDataCompression(), "dc") + + createJSON(protoMessage.GetRequestId(), "requestId") return jsonMessage + "}" } func populateJsonFromProtoSubscribeStream(protoMessage *pb.SubscribeStreamMessage) string { jsonMessage := "{" switch protoMessage.GetMType() { - case pb.SubscribeResponseType_RESPONSE: + case pb.SubscribeResponseType_SUB_RESPONSE: jsonMessage += `"action":"subscribe"` if protoMessage.GetStatus() != 0 { //ERROR jsonMessage += getJsonError(protoMessage.Response.GetErrorResponse()) } jsonMessage += `,"ts":"` + protoMessage.Response.GetTs() + `"` + createJSON(protoMessage.Response.GetSubscriptionId(), "subscriptionId") + createJSON(protoMessage.Response.GetRequestId(), "requestId") + createJSON(protoMessage.Response.GetAuthorization(), "authorization") - case pb.SubscribeResponseType_EVENT: + case pb.SubscribeResponseType_SUB_EVENT: jsonMessage += `"action":"subscription"` if protoMessage.GetStatus() == 0 { //SUCCESSFUL jsonMessage += createJsonData(protoMessage.Event.SuccessResponse.GetDataPack().GetData()) @@ -654,7 +644,7 @@ func populateJsonFromProtoUnsubscribeResp(protoMessage *pb.UnsubscribeResponseMe if protoMessage.GetStatus() != 0 { // ERROR jsonMessage += getJsonError(protoMessage.GetErrorResponse()) } - jsonMessage += `,"ts":"` + protoMessage.GetTs() + `"` + createJSON(protoMessage.GetSubscriptionId(), "subscriptionId") + createJSON(protoMessage.GetRequestId(), "requestId") + jsonMessage += `,"ts":"` + protoMessage.GetTs() + `"` + createJSON(protoMessage.GetRequestId(), "requestId") return jsonMessage + "}" } @@ -681,7 +671,7 @@ func getJsonFilter(filter *pb.FilterExpressions) string { func synthesizeFilter(filterExp *pb.FilterExpressions_FilterExpression) string { fType := "" value := "" - switch filterExp.GetFType() { + switch filterExp.GetVariant() { case 0: fType = "paths" value = getJsonFilterValuePaths(filterExp) diff --git a/utils/managerhandlers.go b/utils/managerhandlers.go index 1bfe235d..9a5bc500 100644 --- a/utils/managerhandlers.go +++ b/utils/managerhandlers.go @@ -165,7 +165,7 @@ func frontendWSAppSession(conn *websocket.Conn, clientChannel chan string, clien // Generates payload from encoding var payload string if encoding == PROTOBUF { - payload = ProtobufToJson(msg, encoding) + payload = ProtobufToJson(msg) } else { payload = string(msg) } @@ -193,7 +193,7 @@ func backendWSAppSession(conn *websocket.Conn, clientBackendChannel chan string, var messageType int if encoding == PROTOBUF { - response = []byte(JsonToProtobuf(message, encoding)) + response = []byte(JsonToProtobuf(message)) messageType = websocket.BinaryMessage } else { response = []byte(message) diff --git a/utils/pbutils.go b/utils/pbutils.go index c5b27f36..0304f07d 100644 --- a/utils/pbutils.go +++ b/utils/pbutils.go @@ -9,15 +9,11 @@ package utils import ( "encoding/json" - pb "github.com/covesa/vissr/protobuf/protoc-out" + pb "github.com/covesa/vissr/grpc_pb" "github.com/golang/protobuf/proto" - "strconv" ) -//var currentCompression Compression - -func ProtobufToJson(serialisedMessage []byte, compression Encoding) string { - currentCompression = compression +func ProtobufToJson(serialisedMessage []byte) string { protoMessage := &pb.ProtobufMessage{} err := proto.Unmarshal(serialisedMessage, protoMessage) if err != nil { @@ -28,8 +24,7 @@ func ProtobufToJson(serialisedMessage []byte, compression Encoding) string { return jsonMessage } -func JsonToProtobuf(jsonMessage string, compression Encoding) []byte { - currentCompression = compression +func JsonToProtobuf(jsonMessage string) []byte { var protoMessage *pb.ProtobufMessage protoMessage = populateProtoFromJson(jsonMessage) serialisedMessage, err := proto.Marshal(protoMessage) @@ -40,14 +35,34 @@ func JsonToProtobuf(jsonMessage string, compression Encoding) []byte { return serialisedMessage } -func ExtractSubscriptionId(jsonSubResponse string) string { - var subResponseMap map[string]interface{} - err := json.Unmarshal([]byte(jsonSubResponse), &subResponseMap) - if err != nil { - Error.Printf("ExtractSubscriptionId:Unmarshal error response=%s, err=%s", jsonSubResponse, err) - return "" +func populateJsonFromProto(protoMessage *pb.ProtobufMessage) string { + switch protoMessage.GetMethod() { + case pb.MessageMethod_GET: + switch protoMessage.GetGet().GetMType() { + case pb.MessageType_REQUEST: return populateJsonFromProtoGetReq(protoMessage.Get.Request) + case pb.MessageType_RESPONSE: return populateJsonFromProtoGetResp(protoMessage.Get.Response) + } + case pb.MessageMethod_SET: + switch protoMessage.GetSet().GetMType() { + case pb.MessageType_REQUEST: return populateJsonFromProtoSetReq(protoMessage.Set.Request) + case pb.MessageType_RESPONSE: return populateJsonFromProtoSetResp(protoMessage.Set.Response) + } + case pb.MessageMethod_SUBSCRIBE: + switch protoMessage.GetSubscribe().GetMType() { + case pb.MessageType_REQUEST: return populateJsonFromProtoSubscribeReq(protoMessage.Subscribe.Request) + case pb.MessageType_STREAM: + switch protoMessage.GetSubscribe().GetStream().GetMType() { + case pb.SubscribeResponseType_SUB_RESPONSE: return populateJsonFromProtoSubscribeStream(protoMessage.Subscribe.Stream) + case pb.SubscribeResponseType_SUB_EVENT: return populateJsonFromProtoSubscribeStream(protoMessage.Subscribe.Stream) + } + } + case pb.MessageMethod_UNSUBSCRIBE: + switch protoMessage.GetUnsubscribe().GetMType() { + case pb.MessageType_REQUEST: return populateJsonFromProtoUnsubscribeReq(protoMessage.Unsubscribe.Request) + case pb.MessageType_RESPONSE: return populateJsonFromProtoUnsubscribeResp(protoMessage.Unsubscribe.Response) + } } - return subResponseMap["subscriptionId"].(string) + return "" } func populateProtoFromJson(jsonMessage string) *pb.ProtobufMessage { @@ -66,13 +81,17 @@ func populateProtoFromJson(jsonMessage string) *pb.ProtobufMessage { protoMessage.Method = mMethod switch mMethod { case pb.MessageMethod_GET: + protoMessage.Get = &pb.GetMessage{} createGetPb(protoMessage, messageMap, mType) case pb.MessageMethod_SET: + protoMessage.Set = &pb.SetMessage{} createSetPb(protoMessage, messageMap, mType) case pb.MessageMethod_SUBSCRIBE: + protoMessage.Subscribe = &pb.SubscribeMessage{} createSubscribePb(protoMessage, messageMap, mType) case pb.MessageMethod_UNSUBSCRIBE: - createUnSubscribePb(protoMessage, messageMap, mType) + protoMessage.Unsubscribe = &pb.UnsubscribeMessage{} + createUnsubscribePb(protoMessage, messageMap, mType) } return protoMessage } @@ -92,7 +111,7 @@ func getMethodAndType(messageMap map[string]interface{}) (pb.MessageMethod, pb.M return pb.MessageMethod_SET, mType case "subscribe": if messageMap["path"] == nil { - mType = pb.MessageType_RESPONSE + mType = pb.MessageType_STREAM } return pb.MessageMethod_SUBSCRIBE, mType case "unsubscribe": @@ -101,846 +120,55 @@ func getMethodAndType(messageMap map[string]interface{}) (pb.MessageMethod, pb.M } return pb.MessageMethod_UNSUBSCRIBE, mType case "subscription": - return pb.MessageMethod_SUBSCRIBE, pb.MessageType_NOTIFICATION + return pb.MessageMethod_SUBSCRIBE, pb.MessageType_STREAM } return -1, -1 } func createGetPb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}, mType pb.MessageType) { - protoMessage.Get = &pb.GetMessage{} protoMessage.Get.MType = mType switch mType { case pb.MessageType_REQUEST: - createGetRequest_Pb(protoMessage, messageMap) + protoMessage.Get.Request = &pb.GetRequestMessage{} + createGetRequestPb(protoMessage.Get.Request, messageMap) case pb.MessageType_RESPONSE: - createGetResponse_Pb(protoMessage, messageMap) - } -} - -func createGetRequest_Pb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}) { - protoMessage.Get.Request = &pb.GetMessage_RequestMessage{} - protoMessage.Get.Request.Path = messageMap["path"].(string) - if messageMap["filter"] != nil { - filter := messageMap["filter"] - switch vv := filter.(type) { - case []interface{}: - Info.Println(filter, "is an array:, len=", strconv.Itoa(len(vv))) - if len(vv) != 2 { - Error.Printf("Max two filter expressions are allowed.") - break - } - protoMessage.Get.Request.Filter = &pb.FilterExpressions{} - protoMessage.Get.Request.Filter.FilterExp = make([]*pb.FilterExpressions_FilterExpression, 2) - protoMessage.Get.Request.Filter.FilterExp[0] = &pb.FilterExpressions_FilterExpression{} - protoMessage.Get.Request.Filter.FilterExp[1] = &pb.FilterExpressions_FilterExpression{} - createPbFilter_pb(0, vv[0].(map[string]interface{}), protoMessage) - createPbFilter_pb(1, vv[1].(map[string]interface{}), protoMessage) - case map[string]interface{}: - Info.Println(vv, "is a map:") - protoMessage.Get.Request.Filter = &pb.FilterExpressions{} - protoMessage.Get.Request.Filter.FilterExp = make([]*pb.FilterExpressions_FilterExpression, 1) - protoMessage.Get.Request.Filter.FilterExp[0] = &pb.FilterExpressions_FilterExpression{} - createPbFilter_pb(0, vv, protoMessage) - default: - Info.Println(filter, "is of an unknown type") - } - } - if messageMap["authorization"] != nil { - auth := messageMap["authorization"].(string) - protoMessage.Get.Request.Authorization = &auth - } - if messageMap["requestId"] != nil { - reqId := messageMap["requestId"].(string) - protoMessage.Get.Request.RequestId = &reqId - } -} - -func createGetResponse_Pb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}) { - protoMessage.Get.Response = &pb.GetMessage_ResponseMessage{} - requestId := messageMap["requestId"].(string) - protoMessage.Get.Response.RequestId = &requestId - ts := messageMap["ts"].(string) - protoMessage.Get.Response.Ts = &ts - if messageMap["error"] == nil { - protoMessage.Get.Response.Status = pb.ResponseStatus_SUCCESS - protoMessage.Get.Response.SuccessResponse = &pb.GetMessage_ResponseMessage_SuccessResponseMessage{} - numOfDataElements := getNumOfDataElements_pb(messageMap["data"]) - if numOfDataElements > 0 { - protoMessage.Get.Response.SuccessResponse.DataPack = &pb.DataPackages{} - protoMessage.Get.Response.SuccessResponse.DataPack.Data = make([]*pb.DataPackages_DataPackage, numOfDataElements) - for i := 0; i < numOfDataElements; i++ { - protoMessage.Get.Response.SuccessResponse.DataPack.Data[i] = createDataElement_pb(i, messageMap["data"]) - } - } else { - metadata, _ := json.Marshal(messageMap["metadata"]) - metadataStr := string(metadata) - protoMessage.Get.Response.SuccessResponse.Metadata = &metadataStr - } - } else { - protoMessage.Get.Response.Status = pb.ResponseStatus_ERROR - // protoMessage.Get.Response.ErrorResponse = &pb.ErrorResponseMessage{} - protoMessage.Get.Response.ErrorResponse = getProtoErrorMessage_pb(messageMap["error"].(map[string]interface{})) - } -} - -func getProtoErrorMessage_pb(messageErrorMap map[string]interface{}) *pb.ErrorResponseMessage { - protoErrorMessage := &pb.ErrorResponseMessage{} - for k, v := range messageErrorMap { - //Info.Println("key=",k, "v=", v) - if k == "number" { - protoErrorMessage.Number = v.(string) - } - if k == "reason" { - reason := v.(string) - protoErrorMessage.Reason = &reason - } - if k == "message" { - message := v.(string) - protoErrorMessage.Message = &message - } - } - return protoErrorMessage -} - -func getNumOfDataElements_pb(messageDataMap interface{}) int { - if messageDataMap == nil { - return 0 - } - switch vv := messageDataMap.(type) { - case []interface{}: - return len(vv) - } - return 1 -} - -func createDataElement_pb(index int, messageDataMap interface{}) *pb.DataPackages_DataPackage { - var dataObject map[string]interface{} - switch vv := messageDataMap.(type) { - case []interface{}: - dataObject = vv[index].(map[string]interface{}) - default: - dataObject = vv.(map[string]interface{}) - } - var protoDataElement pb.DataPackages_DataPackage - path := dataObject["path"].(string) - protoDataElement.Path = &path - numOfDataPointElements := getNumOfDataPointElements_pb(dataObject["dp"]) - protoDataElement.Dp = make([]*pb.DataPackages_DataPackage_DataPoint, numOfDataPointElements) - for i := 0; i < numOfDataPointElements; i++ { - protoDataElement.Dp[i] = createDataPointElement_pb(i, dataObject["dp"]) - } - return &protoDataElement -} - -func getNumOfDataPointElements_pb(messageDataPointMap interface{}) int { - if messageDataPointMap == nil { - return 0 - } - switch vv := messageDataPointMap.(type) { - case []interface{}: - return len(vv) - } - return 1 -} - -func createDataPointElement_pb(index int, messageDataPointMap interface{}) *pb.DataPackages_DataPackage_DataPoint { - var dataPointObject map[string]interface{} - switch vv := messageDataPointMap.(type) { - case []interface{}: - dataPointObject = vv[index].(map[string]interface{}) - default: - dataPointObject = vv.(map[string]interface{}) - } - var protoDataPointElement pb.DataPackages_DataPackage_DataPoint - protoDataPointElement.Value = dataPointObject["value"].(string) - ts := dataPointObject["ts"].(string) - protoDataPointElement.Ts = &ts - return &protoDataPointElement -} - -func createPbFilter_pb(index int, filterExpression map[string]interface{}, protoMessage *pb.ProtobufMessage) { - filterType := getFilterType_pb(filterExpression["type"].(string)) - if protoMessage.Method == pb.MessageMethod_GET { - protoMessage.Get.Request.Filter.FilterExp[index].FType = filterType - } else { - protoMessage.Subscribe.Request.Filter.FilterExp[index].FType = filterType - } - if protoMessage.Method == pb.MessageMethod_GET && - (filterType == pb.FilterExpressions_FilterExpression_TIMEBASED || - filterType == pb.FilterExpressions_FilterExpression_RANGE || - filterType == pb.FilterExpressions_FilterExpression_CHANGE || - filterType == pb.FilterExpressions_FilterExpression_CURVELOG) { - Error.Printf("Filter function is not supported for GET requests.") - return - } - if protoMessage.Method == pb.MessageMethod_SUBSCRIBE && - (filterType == pb.FilterExpressions_FilterExpression_HISTORY || - filterType == pb.FilterExpressions_FilterExpression_METADATA) { - Error.Printf("Filter function is not supported for SUBSCRIBE requests.") - return - } - if protoMessage.Method == pb.MessageMethod_GET { - protoMessage.Get.Request.Filter.FilterExp[index].Value = &pb.FilterExpressions_FilterExpression_FilterValue{} - } else { - protoMessage.Subscribe.Request.Filter.FilterExp[index].Value = &pb.FilterExpressions_FilterExpression_FilterValue{} - } - switch filterType { - case pb.FilterExpressions_FilterExpression_PATHS: - if protoMessage.Method == pb.MessageMethod_GET { - protoMessage.Get.Request.Filter.FilterExp[index].Value.ValuePaths = - &pb.FilterExpressions_FilterExpression_FilterValue_PathsValue{} - protoMessage.Get.Request.Filter.FilterExp[index].Value.ValuePaths = getPbPathsFilterValue_pb(filterExpression["parameter"]) - } else { - protoMessage.Subscribe.Request.Filter.FilterExp[index].Value.ValuePaths = - &pb.FilterExpressions_FilterExpression_FilterValue_PathsValue{} - protoMessage.Subscribe.Request.Filter.FilterExp[index].Value.ValuePaths = getPbPathsFilterValue_pb(filterExpression["parameter"]) - } - case pb.FilterExpressions_FilterExpression_TIMEBASED: - protoMessage.Subscribe.Request.Filter.FilterExp[index].Value.ValueTimebased = - &pb.FilterExpressions_FilterExpression_FilterValue_TimebasedValue{} - protoMessage.Subscribe.Request.Filter.FilterExp[index].Value.ValueTimebased = - getPbTimebasedFilterValue_pb(filterExpression["parameter"].(map[string]interface{})) - case pb.FilterExpressions_FilterExpression_RANGE: - rangeLen := getNumOfRangeExpressions_pb(filterExpression["parameter"]) - protoMessage.Subscribe.Request.Filter.FilterExp[index].Value.ValueRange = - make([]*pb.FilterExpressions_FilterExpression_FilterValue_RangeValue, rangeLen) - for i := 0; i < rangeLen; i++ { - protoMessage.Subscribe.Request.Filter.FilterExp[index].Value.ValueRange[i] = - getPbRangeFilterValue_pb(i, filterExpression["parameter"]) - } - case pb.FilterExpressions_FilterExpression_CHANGE: - protoMessage.Subscribe.Request.Filter.FilterExp[index].Value.ValueChange = - &pb.FilterExpressions_FilterExpression_FilterValue_ChangeValue{} - protoMessage.Subscribe.Request.Filter.FilterExp[index].Value.ValueChange = - getPbChangeFilterValue_pb(filterExpression["parameter"].(map[string]interface{})) - case pb.FilterExpressions_FilterExpression_CURVELOG: - protoMessage.Subscribe.Request.Filter.FilterExp[index].Value.ValueCurvelog = - &pb.FilterExpressions_FilterExpression_FilterValue_CurvelogValue{} - protoMessage.Subscribe.Request.Filter.FilterExp[index].Value.ValueCurvelog = - getPbCurvelogFilterValue_pb(filterExpression["parameter"].(map[string]interface{})) - case pb.FilterExpressions_FilterExpression_HISTORY: - protoMessage.Get.Request.Filter.FilterExp[index].Value.ValueHistory = - &pb.FilterExpressions_FilterExpression_FilterValue_HistoryValue{} - protoMessage.Get.Request.Filter.FilterExp[index].Value.ValueHistory.TimePeriod = filterExpression["parameter"].(string) - case pb.FilterExpressions_FilterExpression_METADATA: - Warning.Printf("Filter type is not supported by protobuf compression.") - default: - Error.Printf("Filter type is unknown.") - } -} - -func getNumOfRangeExpressions_pb(valueMap interface{}) int { - switch vv := valueMap.(type) { - case []interface{}: - return len(vv) - default: - return 1 - } -} - -func getPbPathsFilterValue_pb(filterValueExpression interface{}) *pb.FilterExpressions_FilterExpression_FilterValue_PathsValue { - var protoPathsValue pb.FilterExpressions_FilterExpression_FilterValue_PathsValue - switch vv := filterValueExpression.(type) { - case []interface{}: - Info.Println(filterValueExpression, "is a string array:, len=", strconv.Itoa(len(vv))) - protoPathsValue.RelativePath = make([]string, len(vv)) - for i := 0; i < len(vv); i++ { - protoPathsValue.RelativePath[i] = vv[i].(string) - } - case string: - Info.Println(filterValueExpression, "is a string:") - protoPathsValue.RelativePath = make([]string, 1) - protoPathsValue.RelativePath[0] = vv - default: - Info.Println(filterValueExpression, "is of an unknown type") - } - return &protoPathsValue -} - -func getPbTimebasedFilterValue_pb(filterExpression map[string]interface{}) *pb.FilterExpressions_FilterExpression_FilterValue_TimebasedValue { - var protoTimebasedValue pb.FilterExpressions_FilterExpression_FilterValue_TimebasedValue - protoTimebasedValue.Period = filterExpression["period"].(string) - return &protoTimebasedValue -} - -func getPbRangeFilterValue_pb(index int, valueMap interface{}) *pb.FilterExpressions_FilterExpression_FilterValue_RangeValue { - var protoRangeValue pb.FilterExpressions_FilterExpression_FilterValue_RangeValue - switch vv := valueMap.(type) { - case []interface{}: - rangeObject := vv[index].(map[string]interface{}) - protoRangeValue.LogicOperator = rangeObject["logic-op"].(string) - protoRangeValue.Boundary = rangeObject["boundary"].(string) - case map[string]interface{}: - protoRangeValue.LogicOperator = vv["logic-op"].(string) - protoRangeValue.Boundary = vv["boundary"].(string) - default: - return nil - } - return &protoRangeValue -} - -func getPbChangeFilterValue_pb(filterExpression map[string]interface{}) *pb.FilterExpressions_FilterExpression_FilterValue_ChangeValue { - var protoChangeValue pb.FilterExpressions_FilterExpression_FilterValue_ChangeValue - protoChangeValue.LogicOperator = filterExpression["logic-op"].(string) - protoChangeValue.Diff = filterExpression["diff"].(string) - return &protoChangeValue -} - -func getPbCurvelogFilterValue_pb(filterExpression map[string]interface{}) *pb.FilterExpressions_FilterExpression_FilterValue_CurvelogValue { - var protoCurvelogValue pb.FilterExpressions_FilterExpression_FilterValue_CurvelogValue - protoCurvelogValue.MaxErr = filterExpression["maxerr"].(string) - protoCurvelogValue.BufSize = filterExpression["bufsize"].(string) - return &protoCurvelogValue -} - -func getFilterType_pb(filterType string) pb.FilterExpressions_FilterExpression_FilterType { - switch filterType { - case "paths": - return pb.FilterExpressions_FilterExpression_PATHS - case "timebased": - return pb.FilterExpressions_FilterExpression_TIMEBASED - case "range": - return pb.FilterExpressions_FilterExpression_RANGE - case "change": - return pb.FilterExpressions_FilterExpression_CHANGE - case "curvelog": - return pb.FilterExpressions_FilterExpression_CURVELOG - case "history": - return pb.FilterExpressions_FilterExpression_HISTORY - case "metadata": - return pb.FilterExpressions_FilterExpression_METADATA - } - return pb.FilterExpressions_FilterExpression_METADATA + 100 //undefined filter type -} - -func createSubscribePb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}, mType pb.MessageType) { - protoMessage.Subscribe = &pb.SubscribeMessage{} - protoMessage.Subscribe.MType = mType - switch mType { - case pb.MessageType_REQUEST: - createSubscribeRequest_Pb(protoMessage, messageMap) - case pb.MessageType_RESPONSE: - createSubscribeResponsePb(protoMessage, messageMap) - case pb.MessageType_NOTIFICATION: - createSubscribeNotificationPb(protoMessage, messageMap) - } -} - -func createSubscribeRequest_Pb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}) { - protoMessage.Subscribe = &pb.SubscribeMessage{} - protoMessage.Subscribe.Request = &pb.SubscribeMessage_RequestMessage{} - protoMessage.Subscribe.Request.Path = messageMap["path"].(string) - if messageMap["filter"] != nil { - filter := messageMap["filter"] - switch vv := filter.(type) { - case []interface{}: - Info.Println(filter, "is an array:, len=", strconv.Itoa(len(vv))) - if len(vv) != 2 { - Error.Printf("Max two filter expressions are allowed.") - break - } - protoMessage.Subscribe.Request.Filter = &pb.FilterExpressions{} - protoMessage.Subscribe.Request.Filter.FilterExp = make([]*pb.FilterExpressions_FilterExpression, 2) - protoMessage.Subscribe.Request.Filter.FilterExp[0] = &pb.FilterExpressions_FilterExpression{} - protoMessage.Subscribe.Request.Filter.FilterExp[1] = &pb.FilterExpressions_FilterExpression{} - createPbFilter_pb(0, vv[0].(map[string]interface{}), protoMessage) - createPbFilter_pb(1, vv[1].(map[string]interface{}), protoMessage) - case map[string]interface{}: - Info.Println(filter, "is a map:") - protoMessage.Subscribe.Request.Filter = &pb.FilterExpressions{} - protoMessage.Subscribe.Request.Filter.FilterExp = make([]*pb.FilterExpressions_FilterExpression, 1) - protoMessage.Subscribe.Request.Filter.FilterExp[0] = &pb.FilterExpressions_FilterExpression{} - createPbFilter_pb(0, vv, protoMessage) - default: - Info.Println(filter, "is of an unknown type") - } - } - if messageMap["authorization"] != nil { - auth := messageMap["authorization"].(string) - protoMessage.Subscribe.Request.Authorization = &auth - } - if messageMap["requestId"] != nil { - reqId := messageMap["requestId"].(string) - protoMessage.Subscribe.Request.RequestId = reqId - } -} - -func createSubscribeResponsePb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}) { - protoMessage.Subscribe.Response = &pb.SubscribeMessage_ResponseMessage{} - protoMessage.Subscribe.Response.SubscriptionId = messageMap["subscriptionId"].(string) - protoMessage.Subscribe.Response.RequestId = messageMap["requestId"].(string) - protoMessage.Subscribe.Response.Ts = messageMap["ts"].(string) - if messageMap["error"] == nil { - protoMessage.Subscribe.Response.Status = pb.ResponseStatus_SUCCESS - } else { - protoMessage.Subscribe.Response.Status = pb.ResponseStatus_ERROR - protoMessage.Subscribe.Response.ErrorResponse = getProtoErrorMessage_pb(messageMap["error"].(map[string]interface{})) - } -} - -func createSubscribeNotificationPb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}) { - protoMessage.Subscribe.Notification = &pb.SubscribeMessage_NotificationMessage{} - protoMessage.Subscribe.Notification.SubscriptionId = messageMap["subscriptionId"].(string) - ts := messageMap["ts"].(string) - protoMessage.Subscribe.Notification.Ts = &ts - if messageMap["error"] == nil { - protoMessage.Subscribe.Notification.Status = pb.ResponseStatus_SUCCESS - protoMessage.Subscribe.Notification.SuccessResponse = &pb.SubscribeMessage_NotificationMessage_SuccessResponseMessage{} - numOfDataElements := getNumOfDataElements_pb(messageMap["data"]) - protoMessage.Subscribe.Notification.SuccessResponse.DataPack = &pb.DataPackages{} - protoMessage.Subscribe.Notification.SuccessResponse.DataPack.Data = make([]*pb.DataPackages_DataPackage, numOfDataElements) - for i := 0; i < numOfDataElements; i++ { - protoMessage.Subscribe.Notification.SuccessResponse.DataPack.Data[i] = createDataElement_pb(i, messageMap["data"]) - } - } else { - protoMessage.Subscribe.Notification.Status = pb.ResponseStatus_ERROR - // protoMessage.Subscribe.Notification.ErrorResponse = &pb.ErrorResponseMessage{} - protoMessage.Subscribe.Notification.ErrorResponse = getProtoErrorMessage_pb(messageMap["error"].(map[string]interface{})) + protoMessage.Get.Response = &pb.GetResponseMessage{} + createGetResponsePb(protoMessage.Get.Response, messageMap) } } func createSetPb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}, mType pb.MessageType) { - protoMessage.Set = &pb.SetMessage{} protoMessage.Set.MType = mType switch mType { case pb.MessageType_REQUEST: - createSetRequest_Pb(protoMessage, messageMap) + protoMessage.Set.Request = &pb.SetRequestMessage{} + createSetRequestPb(protoMessage.Set.Request, messageMap) case pb.MessageType_RESPONSE: - createSetResponse_Pb(protoMessage, messageMap) + protoMessage.Set.Response = &pb.SetResponseMessage{} + createSetResponsePb(protoMessage.Set.Response, messageMap) } } -func createSetRequest_Pb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}) { - protoMessage.Set.Request = &pb.SetMessage_RequestMessage{} - protoMessage.Set.Request.Path = messageMap["path"].(string) - protoMessage.Set.Request.Value = messageMap["value"].(string) - if messageMap["authorization"] != nil { - auth := messageMap["authorization"].(string) - protoMessage.Set.Request.Authorization = &auth - } - if messageMap["requestId"] != nil { - reqId := messageMap["requestId"].(string) - protoMessage.Set.Request.RequestId = &reqId - } -} - -func createSetResponse_Pb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}) { - protoMessage.Set.Response = &pb.SetMessage_ResponseMessage{} - requestId := messageMap["requestId"].(string) - protoMessage.Set.Response.RequestId = &requestId - protoMessage.Set.Response.Ts = messageMap["ts"].(string) - if messageMap["error"] == nil { - protoMessage.Set.Response.Status = pb.ResponseStatus_SUCCESS - } else { - protoMessage.Set.Response.Status = pb.ResponseStatus_ERROR - protoMessage.Set.Response.ErrorResponse = getProtoErrorMessage_pb(messageMap["error"].(map[string]interface{})) +func createSubscribePb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}, mType pb.MessageType) { + protoMessage.Subscribe.MType = mType + switch mType { + case pb.MessageType_REQUEST: + protoMessage.Subscribe.Request = &pb.SubscribeRequestMessage{} + createSubscribeRequestPb(protoMessage.Subscribe.Request, messageMap) + case pb.MessageType_STREAM: + protoMessage.Subscribe.Stream = &pb.SubscribeStreamMessage{} + createSubscribeStreamPb(protoMessage.Subscribe.Stream, messageMap) } } -func createUnSubscribePb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}, mType pb.MessageType) { - protoMessage.UnSubscribe = &pb.UnSubscribeMessage{} - protoMessage.UnSubscribe.MType = mType +func createUnsubscribePb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}, mType pb.MessageType) { + protoMessage.Unsubscribe.MType = mType switch mType { case pb.MessageType_REQUEST: - createUnSubscribeRequestPb(protoMessage, messageMap) + protoMessage.Unsubscribe.Request = &pb.UnsubscribeRequestMessage{} + createUnsubscribeRequestPb(protoMessage.Unsubscribe.Request, messageMap) case pb.MessageType_RESPONSE: - createUnSubscribeResponsePb(protoMessage, messageMap) - } -} - -func createUnSubscribeRequestPb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}) { - protoMessage.UnSubscribe.Request = &pb.UnSubscribeMessage_RequestMessage{} - protoMessage.UnSubscribe.Request.SubscriptionId = messageMap["subscriptionId"].(string) - if messageMap["requestId"] != nil { - reqId := messageMap["requestId"].(string) - protoMessage.UnSubscribe.Request.RequestId = &reqId - } -} - -func createUnSubscribeResponsePb(protoMessage *pb.ProtobufMessage, messageMap map[string]interface{}) { - protoMessage.UnSubscribe.Response = &pb.UnSubscribeMessage_ResponseMessage{} - protoMessage.UnSubscribe.Response.SubscriptionId = messageMap["subscriptionId"].(string) - if messageMap["requestId"] != nil { - reqId := messageMap["requestId"].(string) - protoMessage.UnSubscribe.Response.RequestId = &reqId - } - protoMessage.UnSubscribe.Response.Ts = messageMap["ts"].(string) - if messageMap["error"] == nil { - protoMessage.UnSubscribe.Response.Status = pb.ResponseStatus_SUCCESS - } else { - protoMessage.UnSubscribe.Response.Status = pb.ResponseStatus_ERROR - protoMessage.UnSubscribe.Response.ErrorResponse = getProtoErrorMessage_pb(messageMap["error"].(map[string]interface{})) - } -} - -// *******************************Proto to JSON code *************************************** - -func populateJsonFromProto(protoMessage *pb.ProtobufMessage) string { - jsonMessage := "{" - switch protoMessage.GetMethod() { - case 0: // GET - jsonMessage += `"action":"get"` - switch protoMessage.GetGet().GetMType() { - case 0: //REQUEST - jsonMessage += `,"path":"` + protoMessage.GetGet().GetRequest().GetPath() + `"` + getJsonFilter_pb(protoMessage, 0) + - getJsonAuthorization(protoMessage, 0, 0) + getJsonTransactionId(protoMessage, 0, 0) - case 1: // RESPONSE - if protoMessage.GetGet().GetResponse().GetStatus() == 0 { //SUCCESSFUL - jsonMessage += getJsonData(protoMessage, 0) - - } else { // ERROR - jsonMessage += getJsonError_pb(protoMessage, 0) - } - jsonMessage += `,"ts":"` + protoMessage.GetGet().GetResponse().GetTs() + `"` + getJsonTransactionId(protoMessage, 0, 1) - } - case 1: // SET - jsonMessage += `"action":"set"` - switch protoMessage.GetSet().GetMType() { - case 0: //REQUEST - jsonMessage += `,"path":"` + protoMessage.GetSet().GetRequest().GetPath() + `","value":"` + - protoMessage.GetSet().GetRequest().GetValue() + getJsonAuthorization(protoMessage, 1, 0) + getJsonTransactionId(protoMessage, 1, 0) - case 1: // RESPONSE - Info.Printf("protoMessage.Method = %d, protoMessage.Get.MType=%d", protoMessage.GetMethod(), protoMessage.GetSet().GetMType()) - if protoMessage.GetSet().GetResponse().GetStatus() == 0 { //SUCCESSFUL - jsonMessage += protoMessage.GetSet().GetResponse().GetTs() - } else { // ERROR - jsonMessage += getJsonError_pb(protoMessage, 1) - } - } - case 2: // SUBSCRIBE - switch protoMessage.GetSubscribe().GetMType() { - case 0: //REQUEST - jsonMessage += `"action":"subscribe","path":"` + protoMessage.GetSubscribe().GetRequest().GetPath() + `"` + getJsonFilter_pb(protoMessage, 2) + - getJsonAuthorization(protoMessage, 2, 0) + getJsonTransactionId(protoMessage, 2, 0) - case 1: // RESPONSE - jsonMessage += `"action":"subscribe"` - if protoMessage.GetSubscribe().GetResponse().GetStatus() != 0 { //ERROR - jsonMessage += getJsonError_pb(protoMessage, 2) - } - jsonMessage += `,"ts":"` + protoMessage.GetSubscribe().GetResponse().GetTs() + `"` + getJsonTransactionId(protoMessage, 2, 1) - case 2: // NOTIFICATION - jsonMessage += `"action":"subscription"` - if protoMessage.GetSubscribe().GetNotification().GetStatus() == 0 { //SUCCESSFUL - jsonMessage += getJsonData(protoMessage, 2) - - } else { // ERROR - jsonMessage += getJsonError_pb(protoMessage, 2) - } - jsonMessage += `,"ts":"` + protoMessage.GetSubscribe().GetNotification().GetTs() + `"` + getJsonTransactionId(protoMessage, 2, 2) - } - case 3: // UNSUBSCRIBE - jsonMessage += `"action":"unsubscribe"` - switch protoMessage.GetUnSubscribe().GetMType() { - case 0: //REQUEST - jsonMessage += getJsonTransactionId(protoMessage, 3, 0) - case 1: // RESPONSE - if protoMessage.GetUnSubscribe().GetResponse().GetStatus() == 0 { //SUCCESSFUL - jsonMessage += getJsonTransactionId(protoMessage, 3, 1) - } else { // ERROR - jsonMessage += getJsonError_pb(protoMessage, 3) + getJsonTransactionId(protoMessage, 3, 1) - } - jsonMessage += `,"ts":"` + protoMessage.GetUnSubscribe().GetResponse().GetTs() + `"` - } - } - return jsonMessage + "}" -} - -func getJsonFilter_pb(protoMessage *pb.ProtobufMessage, mMethod pb.MessageMethod) string { - var filterExp []*pb.FilterExpressions_FilterExpression - switch mMethod { - case 0: // GET - if protoMessage.GetGet().GetRequest().GetFilter() == nil { - return "" - } - filterExp = protoMessage.GetGet().GetRequest().GetFilter().GetFilterExp() - case 2: // SUBSCRIBE - if protoMessage.GetSubscribe().GetRequest().GetFilter() == nil { - return "" - } - filterExp = protoMessage.GetSubscribe().GetRequest().GetFilter().GetFilterExp() - } - fType := "" - value := "" - switch filterExp[0].GetFType() { - case 0: - fType = "paths" - value = getJsonFilterValuePaths_pb(filterExp[0]) - case 1: - fType = "timebased" - value = getJsonFilterValueTimebased_pb(filterExp[0]) - case 2: - fType = "range" - value = getJsonFilterValueRange_pb(filterExp[0]) - case 3: - fType = "change" - value = getJsonFilterValueChange_pb(filterExp[0]) - case 4: - fType = "curvelog" - value = getJsonFilterValueCurvelog_pb(filterExp[0]) - case 5: - fType = "history" - value = getJsonFilterValueHistory_pb(filterExp[0]) - case 6: - fType = "metadata" - value = getJsonFilterValueMetadata_pb(filterExp[0]) - } - return `,"filter":{"type":"` + fType + `","parameter":` + value + `}` -} - -func getJsonFilterValuePaths_pb(filterExp *pb.FilterExpressions_FilterExpression) string { - relativePaths := filterExp.GetValue().GetValuePaths().GetRelativePath() - value := "" - if len(relativePaths) > 1 { - value = "[" - } - for i := 0; i < len(relativePaths); i++ { - value += `"` + relativePaths[i] + `",` - } - value = value[:len(value)-1] - if len(relativePaths) > 1 { - value += "]" - } - return value -} - -func getJsonFilterValueTimebased_pb(filterExp *pb.FilterExpressions_FilterExpression) string { - period := filterExp.GetValue().GetValueTimebased().GetPeriod() - return `{"period":"` + period + `"}` -} - -func getJsonFilterValueRange_pb(filterExp *pb.FilterExpressions_FilterExpression) string { - rangeValue := filterExp.GetValue().GetValueRange() - value := "" - if len(rangeValue) > 1 { - value = "[" - } - for i := 0; i < len(rangeValue); i++ { - logicOperator := rangeValue[i].GetLogicOperator() - boundary := rangeValue[i].GetBoundary() - value += `{"logic-op":"` + logicOperator + `","boundary":"` + boundary + `"},` - } - value = value[:len(value)-1] - if len(rangeValue) > 1 { - value += "]" - } - return value -} - -func getJsonFilterValueChange_pb(filterExp *pb.FilterExpressions_FilterExpression) string { - logicOperator := filterExp.GetValue().GetValueChange().GetLogicOperator() - diff := filterExp.GetValue().GetValueChange().GetDiff() - return `{"logic-op":"` + logicOperator + `","diff":"` + diff + `"}` -} - -func getJsonFilterValueCurvelog_pb(filterExp *pb.FilterExpressions_FilterExpression) string { - maxErr := filterExp.GetValue().GetValueCurvelog().GetMaxErr() - bufSize := filterExp.GetValue().GetValueCurvelog().GetBufSize() - return `{"maxerr":"` + maxErr + `","bufsize":"` + bufSize + `"}` -} - -func getJsonFilterValueHistory_pb(filterExp *pb.FilterExpressions_FilterExpression) string { - timePeriod := filterExp.GetValue().GetValueHistory().GetTimePeriod() - return `"` + timePeriod + `"` -} - -func getJsonFilterValueMetadata_pb(filterExp *pb.FilterExpressions_FilterExpression) string { - tree := filterExp.GetValue().GetValueMetadata().GetTree() - return tree -} - -func getJsonAuthorization(protoMessage *pb.ProtobufMessage, mMethod pb.MessageMethod, mType pb.MessageType) string { - authorization := "" - value := "" - switch mMethod { - case 0: // GET - switch mType { - case 0: // REQUEST - value = protoMessage.GetGet().GetRequest().GetAuthorization() - } - case 1: // SET - switch mType { - case 0: // REQUEST - value = protoMessage.GetSet().GetRequest().GetAuthorization() - } - case 2: // SUBSCRIBE - switch mType { - case 0: // REQUEST - value = protoMessage.GetSubscribe().GetRequest().GetAuthorization() - } - } - if len(value) > 0 { - authorization = `,"authorization":"` + value + `"` - } - return authorization -} - -func getJsonTransactionId(protoMessage *pb.ProtobufMessage, mMethod pb.MessageMethod, mType pb.MessageType) string { - transactionId := "" - requestId := "" - subscriptionId := "" - switch mMethod { - case 0: // GET - switch mType { - case 0: // REQUEST - requestId = protoMessage.GetGet().GetRequest().GetRequestId() - case 1: // RESPONSE - requestId = protoMessage.GetGet().GetResponse().GetRequestId() - } - case 1: // SET - switch mType { - case 0: // REQUEST - requestId = protoMessage.GetSet().GetRequest().GetRequestId() - case 1: // RESPONSE - requestId = protoMessage.GetSet().GetResponse().GetRequestId() - } - case 2: // SUBSCRIBE - switch mType { - case 0: // REQUEST - requestId = protoMessage.GetSubscribe().GetRequest().GetRequestId() - case 1: // RESPONSE - subscriptionId = protoMessage.GetSubscribe().GetResponse().GetSubscriptionId() - requestId = protoMessage.GetSubscribe().GetResponse().GetRequestId() - case 2: // NOTIFICATION - subscriptionId = protoMessage.GetSubscribe().GetNotification().GetSubscriptionId() - } - case 3: // UNSUBSCRIBE - switch mType { - case 0: // REQUEST - subscriptionId = protoMessage.GetUnSubscribe().GetRequest().GetSubscriptionId() - requestId = protoMessage.GetUnSubscribe().GetRequest().GetRequestId() - case 1: // RESPONSE - subscriptionId = protoMessage.GetUnSubscribe().GetResponse().GetSubscriptionId() - requestId = protoMessage.GetUnSubscribe().GetResponse().GetRequestId() - } - } - if len(subscriptionId) > 0 { - transactionId += `,"subscriptionId":"` + subscriptionId + `"` - } - if len(requestId) > 0 { - transactionId += `,"requestId":"` + requestId + `"` - } - return transactionId -} - -func getJsonData(protoMessage *pb.ProtobufMessage, mMethod pb.MessageMethod) string { - data := "" - var dataPack []*pb.DataPackages_DataPackage - switch mMethod { - case 0: // GET - dataPack = protoMessage.GetGet().GetResponse().GetSuccessResponse().GetDataPack().GetData() - case 2: // SUBSCRIBE - dataPack = protoMessage.GetSubscribe().GetNotification().GetSuccessResponse().GetDataPack().GetData() - } - if len(dataPack) > 1 { - data += "[" - } - for i := 0; i < len(dataPack); i++ { - var path string - path = dataPack[i].GetPath() - dp := getJsonDp_pb(dataPack[i]) - data += `{"path":"` + path + `","dp":` + dp + `},` - } - data = data[:len(data)-1] - if len(dataPack) > 1 { - data += "]" - } - return `,"data":` + data -} - -func getJsonDp_pb(dataPack *pb.DataPackages_DataPackage) string { - dpPack := dataPack.GetDp() - dp := "" - if len(dpPack) > 1 { - dp += "[" - } - for i := 0; i < len(dpPack); i++ { - value := dpPack[i].GetValue() - var ts string - ts = dpPack[i].GetTs() - dp += `{"value":"` + value + `","ts":"` + ts + `"},` - } - dp = dp[:len(dp)-1] - if len(dpPack) > 1 { - dp += "]" - } - return dp -} - -func getJsonError_pb(protoMessage *pb.ProtobufMessage, mMethod pb.MessageMethod) string { - var errorResponse *pb.ErrorResponseMessage - switch mMethod { - case 0: // GET - errorResponse = protoMessage.GetGet().GetResponse().GetErrorResponse() - case 1: // SET - errorResponse = protoMessage.GetSet().GetResponse().GetErrorResponse() - case 2: // SUBSCRIBE - errorResponse = protoMessage.GetSubscribe().GetResponse().GetErrorResponse() - case 3: // UNSUBSCRIBE - errorResponse = protoMessage.GetUnSubscribe().GetResponse().GetErrorResponse() - } - number := errorResponse.GetNumber() - reason := errorResponse.GetReason() - message := errorResponse.GetMessage() - return `,"error":{"number":"` + number + `","reason":"` + reason + `","message":"` + message + `"}` -} - -// *******************************Only for testing during dev *************************************** -func testPrintProtoMessage(protoMessage *pb.ProtobufMessage) { - switch protoMessage.GetMethod() { - case 0: // GET - switch protoMessage.GetGet().GetMType() { - case 0: //REQUEST - Info.Printf("protoMessage.Method = %d, protoMessage.Get.MType=%d", protoMessage.GetMethod(), protoMessage.GetGet().GetMType()) - Info.Printf("protoMessage.Get.Request.Path = %s", protoMessage.GetGet().GetRequest().GetPath()) - Info.Printf("protoMessage.Get.Request.RequestId = %s", protoMessage.GetGet().GetRequest().GetRequestId()) - case 1: // RESPONSE - Info.Printf("protoMessage.Method = %d, protoMessage.Get.MType=%d", protoMessage.GetMethod(), protoMessage.GetGet().GetMType()) - Info.Printf("protoMessage.Get.Response.Status=%d", protoMessage.GetGet().GetResponse().GetStatus()) - Info.Printf("protoMessage.Get.Response.RequestId = %s", protoMessage.GetGet().GetResponse().GetRequestId()) - Info.Printf("protoMessage.Get.Response.Ts = %s", protoMessage.GetGet().GetResponse().GetTs()) - } - case 1: // SET - switch protoMessage.GetSet().GetMType() { - case 0: //REQUEST - Info.Printf("protoMessage.Method = %d, protoMessage.Get.MType=%d", protoMessage.GetMethod(), protoMessage.GetSet().GetMType()) - Info.Printf("protoMessage.Set.Request.Path = %s", protoMessage.GetSet().GetRequest().GetPath()) - Info.Printf("protoMessage.Set.Request.RequestId = %s", protoMessage.GetSet().GetRequest().GetRequestId()) - case 1: // RESPONSE - Info.Printf("protoMessage.Method = %d, protoMessage.Get.MType=%d", protoMessage.GetMethod(), protoMessage.GetSet().GetMType()) - Info.Printf("protoMessage.Set.Response.Status=%d", protoMessage.GetSet().GetResponse().GetStatus()) - Info.Printf("protoMessage.Set.Response.RequestId = %s", protoMessage.GetSet().GetResponse().GetRequestId()) - Info.Printf("protoMessage.Set.Response.Ts = %s", protoMessage.GetSet().GetResponse().GetTs()) - } - case 2: // SUBSCRIBE - switch protoMessage.GetSubscribe().GetMType() { - case 0: //REQUEST - Info.Printf("protoMessage.Method = %d, protoMessage.Get.MType=%d", protoMessage.GetMethod(), protoMessage.GetSubscribe().GetMType()) - Info.Printf("protoMessage.Subscribe.Request.Path = %s", protoMessage.GetSubscribe().GetRequest().GetPath()) - Info.Printf("protoMessage.Subscribe.Request.RequestId = %s", protoMessage.GetSubscribe().GetRequest().GetRequestId()) - case 1: // RESPONSE - Info.Printf("protoMessage.Method = %d, protoMessage.Get.MType=%d", protoMessage.GetMethod(), protoMessage.GetSubscribe().GetMType()) - Info.Printf("protoMessage.Subscribe.Response.Status=%d", protoMessage.GetSubscribe().GetResponse().GetStatus()) - Info.Printf("protoMessage.Subscribe.Response.RequestId = %s", protoMessage.GetSubscribe().GetResponse().GetRequestId()) - Info.Printf("protoMessage.Subscribe.Response.SubscriptionId = %s", protoMessage.GetSubscribe().GetResponse().GetSubscriptionId()) - Info.Printf("protoMessage.Subscribe.Response.Ts = %s", protoMessage.GetSubscribe().GetResponse().GetTs()) - case 2: // NOTIFICATION - Info.Printf("protoMessage.Method = %d, protoMessage.Get.MType=%d", protoMessage.GetMethod(), protoMessage.GetSubscribe().GetMType()) - Info.Printf("protoMessage.Subscribe.Notification.Status=%d", protoMessage.GetSubscribe().GetNotification().GetStatus()) - Info.Printf("protoMessage.Subscribe.Notification.SubscriptionId = %s", protoMessage.GetSubscribe().GetNotification().GetSubscriptionId()) - Info.Printf("protoMessage.Subscribe.Notification.Ts = %s", protoMessage.GetSubscribe().GetNotification().GetTs()) - } - case 3: // UNSUBSCRIBE - switch protoMessage.GetUnSubscribe().GetMType() { - case 0: //REQUEST - Info.Printf("protoMessage.Method = %d, protoMessage.Get.MType=%d", protoMessage.GetMethod(), protoMessage.GetUnSubscribe().GetMType()) - Info.Printf("protoMessage.UnSubscribe.Request.SubscriptionId = %s", protoMessage.GetUnSubscribe().GetRequest().GetSubscriptionId()) - Info.Printf("protoMessage.UnSubscribe.Request.RequestId = %s", protoMessage.GetUnSubscribe().GetRequest().GetRequestId()) - case 1: // RESPONSE - Info.Printf("protoMessage.Method = %d, protoMessage.Get.MType=%d", protoMessage.GetMethod(), protoMessage.GetUnSubscribe().GetMType()) - Info.Printf("protoMessage.UnSubscribe.Response.Status=%d", protoMessage.GetUnSubscribe().GetResponse().GetStatus()) - Info.Printf("protoMessage.UnSubscribe.Response.SubscriptionId = %s", protoMessage.GetUnSubscribe().GetResponse().GetSubscriptionId()) - Info.Printf("protoMessage.UnSubscribe.Response.RequestId = %s", protoMessage.GetUnSubscribe().GetResponse().GetRequestId()) - Info.Printf("protoMessage.UnSubscribe.Response.Ts = %s", protoMessage.GetUnSubscribe().GetResponse().GetTs()) - } + protoMessage.Unsubscribe.Response = &pb.UnsubscribeResponseMessage{} + createUnsubscribeResponsePb(protoMessage.Unsubscribe.Response, messageMap) } }