source: branches/PersistenceOverhaul/HeuristicLab.Persistence/4.0/Protos/PersistenceMessages.proto @ 13375

Last change on this file since 13375 was 13375, checked in by swagner, 4 years ago

#2520: Worked on new persistence implementation

File size: 3.2 KB
Line 
1package HeuristicLab.Persistence;
2
3message Bundle {
4  repeated bytes transformer_guids = 1;
5  repeated bytes type_guids = 2;
6  repeated string strings = 3;
7  repeated Box boxes = 4;
8  required uint32 root_box_id = 5;
9}
10
11message Box {
12  optional uint32 transformer_id = 1;
13  optional uint32 type_id = 2;
14
15  extensions 100 to max;
16}
17
18// scalar boxes
19message BoolBox {
20  extend Box {
21    required BoolBox bool = 100;
22  }
23  required bool value = 1;
24}
25message IntBox {
26  extend Box {
27    required IntBox int = 101;
28  }
29  required int32 value = 1;
30}
31message LongBox {
32  extend Box {
33    required LongBox long = 102;
34  }
35  required int64 value = 1;
36}
37message UnsignedIntBox {
38  extend Box {
39    required UnsignedIntBox unsigned_int = 103;
40  }
41  required uint32 value = 1;
42}
43message UnsignedLongBox {
44  extend Box {
45    required UnsignedLongBox unsigned_long = 104;
46  }
47  required uint64 value = 1;
48}
49message FloatBox {
50  extend Box {
51    required FloatBox float = 105;
52  }
53  required float value = 1;
54}
55message DoubleBox {
56  extend Box {
57    required DoubleBox double = 106;
58  }
59  required double value = 1;
60}
61message StringBox {
62  extend Box {
63    required StringBox string = 107;
64  }
65  required string value = 1;
66}
67message BytesBox {
68  extend Box {
69    required BytesBox bytes = 108;
70  }
71  required bytes value = 1;
72}
73
74// array boxes
75message BoolArrayBox {
76  extend Box {
77    required BoolArrayBox bool_array = 120;
78  }
79  repeated bool values = 1 [packed = true];
80}
81message IntArrayBox {
82  extend Box {
83    required IntArrayBox int_array = 121;
84  }
85  repeated int32 values = 1 [packed = true];
86}
87message LongArrayBox {
88  extend Box {
89    required LongArrayBox long_array = 122;
90  }
91  repeated int64 values = 1 [packed = true];
92}
93message UnsignedIntArrayBox {
94  extend Box {
95    required UnsignedIntArrayBox unsigned_int_array = 123;
96  }
97  repeated uint32 values = 1 [packed = true];
98}
99message UnsignedLongArrayBox {
100  extend Box {
101    required UnsignedLongArrayBox unsigned_long_array = 124;
102  }
103  repeated uint64 values = 1 [packed = true];
104}
105message FloatArrayBox {
106  extend Box {
107    required FloatArrayBox float_array = 125;
108  }
109  repeated float values = 1 [packed = true];
110}
111message DoubleArrayBox {
112  extend Box {
113    required DoubleArrayBox double_array = 126;
114  }
115  repeated double values = 1 [packed = true];
116}
117message StringArrayBox {
118  extend Box {
119    required StringArrayBox string_array = 127;
120  }
121  repeated string values = 1;
122}
123
124// matrix boxes
125message MatrixBox {
126  extend Box {
127    required MatrixBox matrix = 140;
128  }
129  optional uint32 element_type_id = 1;
130  repeated uint32 lengths = 2 [packed = true];
131
132  extensions 100 to max;
133}
134message BoolMatrixBox {
135  extend MatrixBox {
136    required BoolMatrixBox bool_matrix = 100;
137  }
138  repeated bool values = 1 [packed = true];
139}
140message IntMatrixBox {
141  extend MatrixBox {
142    required IntMatrixBox int_matrix = 101;
143  }
144  repeated int32 values = 1 [packed = true];
145}
146
147// composite boxes
148message DictionaryBox {
149  extend Box {
150    required DictionaryBox dictionary = 160;
151  }
152  repeated uint32 key_ids = 1 [packed = true];
153  repeated uint32 value_ids = 2 [packed = true];
154  required uint32 comparer_id = 3;
155}
Note: See TracBrowser for help on using the repository browser.