Free cookie consent management tool by TermsFeed Policy Generator

source: branches/PersistenceReintegration/HeuristicLab.Persistence/4.0/Protos/PersistenceMessages.proto @ 15501

Last change on this file since 15501 was 15501, checked in by jkarder, 5 years ago

#2520: added protobuf version 3.5.0 and changed proto definition

File size: 2.4 KB
Line 
1syntax = "proto3";
2
3package HeuristicLab.Persistence;
4
5message Bundle {
6  repeated bytes transformer_guids = 1;
7  repeated bytes type_guids = 2;
8
9  uint32 root_box_id = 10;
10  repeated Box boxes = 20;
11
12  repeated string strings = 100;
13  repeated bool bools = 101;
14  repeated int32 ints = 102;
15  repeated int64 longs = 103;
16  repeated uint32 uints = 104;
17  repeated uint64 ulongs = 105;
18  repeated float floats = 106;
19  repeated double doubles = 107;
20  repeated bytes bytes = 108;
21
22  repeated StringArrayBox string_arrays = 200;
23  repeated BoolArrayBox bool_arrays = 201;
24  repeated IntArrayBox int_arrays = 202;
25  repeated LongArrayBox long_arrays = 203;
26  repeated UnsignedIntArrayBox uint_arrays = 204;
27  repeated UnsignedLongArrayBox ulong_arrays = 205;
28  repeated FloatArrayBox float_arrays = 206;
29  repeated DoubleArrayBox double_arrays = 207;
30  repeated ByteArrayBox byte_arrays = 208;
31
32  repeated MatrixBox matrices = 300;
33  repeated BoolMatrixBox bool_matrices = 310;
34  repeated IntMatrixBox int_matrices = 311;
35
36  repeated DictionaryBox dictionaries = 400;
37  repeated StorableClassBox storables = 410;
38}
39message Box {
40  uint32 transformer_id = 1;
41  uint32 type_id = 2;
42  uint32 box_id = 3;
43  bool bool = 10;
44  int32 int = 11;
45  int64 long = 12;
46  uint32 uint = 13;
47  uint64 ulong = 14;
48  float float = 15;
49  double double = 16;
50}
51message TypeBox {
52  uint32 version = 1;
53  repeated uint32 generic_type_ids = 2;
54}
55
56// array boxes
57message StringArrayBox { repeated string values = 1; }
58message BoolArrayBox { repeated bool values = 1; }
59message IntArrayBox { repeated int32 values = 1; }
60message LongArrayBox { repeated int64 values = 1; }
61message UnsignedIntArrayBox { repeated uint32 values = 1; }
62message UnsignedLongArrayBox { repeated uint64 values = 1; }
63message FloatArrayBox { repeated float values = 1; }
64message DoubleArrayBox { repeated double values = 1; }
65message ByteArrayBox { bytes values = 1; }
66
67// matrix boxes
68message MatrixBox {
69  uint32 element_type_id = 1;
70  repeated uint32 lengths = 2;
71}
72message BoolMatrixBox {
73  MatrixBox matrixBox = 1;
74  repeated bool values = 2;
75}
76message IntMatrixBox {
77  MatrixBox matrixBox = 1;
78  repeated int32 values = 2;
79}
80
81// composite boxes
82message DictionaryBox {
83  map<uint32, uint32> key_value_pairs = 1;
84  uint32 comparer_id = 2;
85}
86message StorableClassBox {
87  map<uint32, uint32> key_value_pairs = 1;
88}
Note: See TracBrowser for help on using the repository browser.