Free cookie consent management tool by TermsFeed Policy Generator

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

Last change on this file since 15529 was 14771, checked in by gkronber, 8 years ago

#2520 added versions to storable types and implemented conversion unit test

File size: 3.8 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
19// scalar boxes
20message BoolBox {
21  extend Box {
22    required BoolBox bool = 100;
23  }
24  required bool value = 1;
25}
26message IntBox {
27  extend Box {
28    required IntBox int = 101;
29  }
30  required int32 value = 1;
31}
32message LongBox {
33  extend Box {
34    required LongBox long = 102;
35  }
36  required int64 value = 1;
37}
38message UnsignedIntBox {
39  extend Box {
40    required UnsignedIntBox unsigned_int = 103;
41  }
42  required uint32 value = 1;
43}
44message UnsignedLongBox {
45  extend Box {
46    required UnsignedLongBox unsigned_long = 104;
47  }
48  required uint64 value = 1;
49}
50message FloatBox {
51  extend Box {
52    required FloatBox float = 105;
53  }
54  required float value = 1;
55}
56message DoubleBox {
57  extend Box {
58    required DoubleBox double = 106;
59  }
60  required double value = 1;
61}
62message StringBox {
63  extend Box {
64    required StringBox string = 107;
65  }
66  required string value = 1;
67}
68message BytesBox {
69  extend Box {
70    required BytesBox bytes = 108;
71  }
72  required bytes value = 1;
73}
74
75// array boxes
76message BoolArrayBox {
77  extend Box {
78    required BoolArrayBox bool_array = 120;
79  }
80  repeated bool values = 1 [packed = true];
81}
82message ByteArrayBox {
83  extend Box {
84    required ByteArrayBox byte_array = 121;
85  }
86  required bytes values = 1;
87}
88message IntArrayBox {
89  extend Box {
90    required IntArrayBox int_array = 122;
91  }
92  repeated int32 values = 1 [packed = true];
93}
94message LongArrayBox {
95  extend Box {
96    required LongArrayBox long_array = 123;
97  }
98  repeated int64 values = 1 [packed = true];
99}
100message UnsignedIntArrayBox {
101  extend Box {
102    required UnsignedIntArrayBox unsigned_int_array = 124;
103  }
104  repeated uint32 values = 1 [packed = true];
105
106  extensions 100 to max;
107}
108message UnsignedLongArrayBox {
109  extend Box {
110    required UnsignedLongArrayBox unsigned_long_array = 125;
111  }
112  repeated uint64 values = 1 [packed = true];
113}
114message FloatArrayBox {
115  extend Box {
116    required FloatArrayBox float_array = 126;
117  }
118  repeated float values = 1 [packed = true];
119}
120message DoubleArrayBox {
121  extend Box {
122    required DoubleArrayBox double_array = 127;
123  }
124  repeated double values = 1 [packed = true];
125}
126message StringArrayBox {
127  extend Box {
128    required StringArrayBox string_array = 128;
129  }
130  repeated string values = 1;
131}
132
133// matrix boxes
134message MatrixBox {
135  extend Box {
136    required MatrixBox matrix = 140;
137  }
138  optional uint32 element_type_id = 1;
139  repeated uint32 lengths = 2 [packed = true];
140
141  extensions 100 to max;
142}
143message BoolMatrixBox {
144  extend MatrixBox {
145    required BoolMatrixBox bool_matrix = 100;
146  }
147  repeated bool values = 1 [packed = true];
148}
149message IntMatrixBox {
150  extend MatrixBox {
151    required IntMatrixBox int_matrix = 101;
152  }
153  repeated int32 values = 1 [packed = true];
154}
155
156// composite boxes
157message DictionaryBox {
158  extend Box {
159    required DictionaryBox dictionary = 160;
160  }
161  repeated uint32 key_ids = 1 [packed = true];
162  repeated uint32 value_ids = 2 [packed = true];
163  required uint32 comparer_id = 3;
164}
165
166message StorableClassBox {
167  extend Box {
168    required StorableClassBox storable_class = 200;
169  }
170  repeated uint32 key_ids = 1 [packed = true];
171  repeated uint32 value_ids = 2 [packed = true];
172}
173
174
175message TypeBox {
176  extend Box {
177    required TypeBox type = 250;
178  }
179  optional uint32 version = 1;
180  repeated uint32 generic_type_ids = 2 [packed = true];
181}
182
Note: See TracBrowser for help on using the repository browser.