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

Last change on this file since 13347 was 13347, checked in by swagner, 7 years ago

#2520: Worked on persistence overhaul

File size: 2.5 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// value 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 ArrayBox {
76  extend Box {
77    required ArrayBox array = 120;
78  }
79  optional uint32 element_type_id = 1;
80
81  extensions 100 to max;
82}
83message BoolArrayBox {
84  extend ArrayBox {
85    required BoolArrayBox bool_array = 100;
86  }
87  repeated bool values = 1 [packed = true];
88}
89message IntArrayBox {
90  extend ArrayBox {
91    required IntArrayBox int_array = 101;
92  }
93  repeated int32 values = 1 [packed = true];
94}
95
96// matrix boxes
97message MatrixBox {
98  extend Box {
99    required MatrixBox matrix = 140;
100  }
101  optional uint32 element_type_id = 1;
102  repeated uint32 lengths = 2 [packed = true];
103
104  extensions 100 to max;
105}
106message BoolMatrixBox {
107  extend MatrixBox {
108    required BoolMatrixBox bool_matrix = 100;
109  }
110  repeated bool values = 1 [packed = true];
111}
112message IntMatrixBox {
113  extend MatrixBox {
114    required IntMatrixBox int_matrix = 101;
115  }
116  repeated int32 values = 1 [packed = true];
117}
118
119// composite boxes
120message DictionaryBox {
121  extend Box {
122    required DictionaryBox dictionary = 160;
123  }
124  repeated uint32 key_ids = 1 [packed = true];
125  repeated uint32 value_ids = 2 [packed = true];
126  required uint32 comparer_id = 3;
127}
Note: See TracBrowser for help on using the repository browser.