Goby3  3.1.5a
2024.05.23
serializer_transporter.proto
Go to the documentation of this file.
1 syntax = "proto2";
2 import "dccl/option_extensions.proto";
3 import "goby/middleware/protobuf/transporter_config.proto";
4 import "google/protobuf/descriptor.proto";
5 
6 package goby.middleware.protobuf;
7 
8 message SerializerProtobufMetadata
9 {
10  // defines the DCCL message for the Portal (edge) internally on interprocess
11  optional string protobuf_name = 1 [(dccl.field).omit = true];
12  repeated google.protobuf.FileDescriptorProto file_descriptor = 2
13  [(dccl.field).omit = true];
14 }
15 
16 message SerializerTransporterKey
17 {
18  option (dccl.msg) = {
19  unit_system: "si"
20  };
21 
22  required int32 marshalling_scheme = 1;
23  required string type = 2;
24  required string group = 3;
25  optional uint32 group_numeric = 4;
26  optional uint64 serialize_time = 5
27  [(dccl.field) = {units {prefix: "micro" base_dimensions: "T"}}];
28  optional TransporterConfig cfg = 10;
29  optional SerializerProtobufMetadata metadata = 20;
30 }
31 
32 message SerializerTransporterMessage
33 {
34  required SerializerTransporterKey key = 1;
35  optional bytes data = 4;
36 }
37 
38 
39 message SerializerMetadataRequest
40 {
41  required SerializerTransporterKey key = 1;
42  enum Request
43  {
44  METADATA_INCLUDE = 1; // we need this metadata
45  METADATA_EXCLUDE = 2; // we already have the metadata
46  }
47  required Request request = 2;
48 }