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

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

#2520: Worked on new persistence implementation

File size: 2.4 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}
87
88// matrix boxes
89message MatrixBox {
90  extend Box {
91    required MatrixBox matrix = 140;
92  }
93  optional uint32 element_type_id = 1;
94  repeated uint32 lengths = 2 [packed = true];
95
96  extensions 100 to max;
97}
98message BoolMatrixBox {
99  extend MatrixBox {
100    required BoolMatrixBox bool_matrix = 100;
101  }
102  repeated bool values = 1 [packed = true];
103}
104message IntMatrixBox {
105  extend MatrixBox {
106    required IntMatrixBox int_matrix = 101;
107  }
108  repeated int32 values = 1 [packed = true];
109}
110
111// composite boxes
112message DictionaryBox {
113  extend Box {
114    required DictionaryBox dictionary = 160;
115  }
116  repeated uint32 key_ids = 1 [packed = true];
117  repeated uint32 value_ids = 2 [packed = true];
118  required uint32 comparer_id = 3;
119}
Note: See TracBrowser for help on using the repository browser.