Beginning of `stack-next` refactor
-Refactoring the protocol stack into something similar to a runtime. -Handles merging handler builders which is placing the ground work for plugins in. - Increased metadata generation during compilation enables less ser/de during execution. - Goal is to have an O(1) time from incoming operation to calling handlers. - Decreased penalty for using the statically typed API from within your code, now avoids some allocation. # Changes - Added `GiteratedRuntime` which is to replace the current unified stack - Added `RuntimeBuilder` which does what the current `OperationHandlers` struct does, but much better. - Added `RuntimeMetadata` to store type metadata for new `Any` based internals - Refactored serde_json out of the internal operation handling
parent: tbd commit: 708dea4
1 | use ; |
2 | |
3 | use ; |
4 | use Value; |
5 | |
6 | use crate::; |
7 | |
8 | |
9 | type Object: GiteratedObject; |
10 | |
11 | ; |
12 | |
13 | |
14 | |
15 | |
16 | pub value_name: String, |
17 | pub(crate) _marker: , |
18 | |
19 | |
20 | |
21 | |
22 | pub value_name: String, |
23 | |
24 | |
25 | |
26 | for GetValue |
27 | |
28 | |
29 | "get_value" |
30 | |
31 | type Success = V; |
32 | type Failure = GetValueError; |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | value: Value, |
39 | #[serde(skip)] |
40 | _marker: , |
41 | |
42 | |
43 | |
44 | pub unsafe |
45 | Self |
46 | value, |
47 | _marker: Default default, |
48 | |
49 | |
50 | |
51 | |
52 | self.value |
53 | |
54 | |
55 | |
56 | |
57 | type Object = O; |
58 | |
59 | |
60 | todo! |
61 | |
62 | |
63 |