1 | syntax = "proto3";
|
---|
2 |
|
---|
3 | package HeuristicLab.Persistence;
|
---|
4 |
|
---|
5 | message 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 | }
|
---|
39 | message 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 | }
|
---|
51 | message TypeBox {
|
---|
52 | uint32 version = 1;
|
---|
53 | repeated uint32 generic_type_ids = 2;
|
---|
54 | }
|
---|
55 |
|
---|
56 | // array boxes
|
---|
57 | message StringArrayBox { repeated string values = 1; }
|
---|
58 | message BoolArrayBox { repeated bool values = 1; }
|
---|
59 | message IntArrayBox { repeated int32 values = 1; }
|
---|
60 | message LongArrayBox { repeated int64 values = 1; }
|
---|
61 | message UnsignedIntArrayBox { repeated uint32 values = 1; }
|
---|
62 | message UnsignedLongArrayBox { repeated uint64 values = 1; }
|
---|
63 | message FloatArrayBox { repeated float values = 1; }
|
---|
64 | message DoubleArrayBox { repeated double values = 1; }
|
---|
65 | message ByteArrayBox { bytes values = 1; }
|
---|
66 |
|
---|
67 | // matrix boxes
|
---|
68 | message MatrixBox {
|
---|
69 | uint32 element_type_id = 1;
|
---|
70 | repeated uint32 lengths = 2;
|
---|
71 | }
|
---|
72 | message BoolMatrixBox {
|
---|
73 | MatrixBox matrixBox = 1;
|
---|
74 | repeated bool values = 2;
|
---|
75 | }
|
---|
76 | message IntMatrixBox {
|
---|
77 | MatrixBox matrixBox = 1;
|
---|
78 | repeated int32 values = 2;
|
---|
79 | }
|
---|
80 |
|
---|
81 | // composite boxes
|
---|
82 | message DictionaryBox {
|
---|
83 | map<uint32, uint32> key_value_pairs = 1;
|
---|
84 | uint32 comparer_id = 2;
|
---|
85 | }
|
---|
86 | message StorableClassBox {
|
---|
87 | map<uint32, uint32> key_value_pairs = 1;
|
---|
88 | }
|
---|