Commit 2081554
authored
Allow event iterators to surface owned data (#627)
* Allow event iterators to surface owned data
Previously, event iterators were forced to handing out references to data,
even if they could return owned data. This is not great because it requires
the replay operator to clone the data to send it downstream.
With this change, the event iterator can surface either owned or shared
data, which allows the `Rc<EventLink>` to surface owned data when it is
uniquely owned, and references when it is shared. This avoids cloning data
when there is only a single replay operator attached to an event link.
Signed-off-by: Moritz Hoffmann <[email protected]>
* Cow instead of Result
Signed-off-by: Moritz Hoffmann <[email protected]>
---------
Signed-off-by: Moritz Hoffmann <[email protected]>1 parent 09994a8 commit 2081554
2 files changed
+27
-12
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
27 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
48 | 49 | | |
49 | 50 | | |
50 | 51 | | |
| |||
77 | 78 | | |
78 | 79 | | |
79 | 80 | | |
80 | | - | |
81 | | - | |
| 81 | + | |
| 82 | + | |
82 | 83 | | |
83 | 84 | | |
84 | 85 | | |
85 | 86 | | |
86 | | - | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
87 | 93 | | |
88 | 94 | | |
89 | 95 | | |
| |||
121 | 127 | | |
122 | 128 | | |
123 | 129 | | |
| 130 | + | |
| 131 | + | |
124 | 132 | | |
125 | 133 | | |
126 | 134 | | |
| |||
164 | 172 | | |
165 | 173 | | |
166 | 174 | | |
167 | | - | |
168 | | - | |
| 175 | + | |
| 176 | + | |
169 | 177 | | |
170 | | - | |
| 178 | + | |
171 | 179 | | |
172 | 180 | | |
173 | 181 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| 97 | + | |
97 | 98 | | |
98 | | - | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
99 | 106 | | |
100 | 107 | | |
101 | | - | |
| 108 | + | |
102 | 109 | | |
103 | 110 | | |
104 | 111 | | |
| |||
0 commit comments