|
15 | 15 | #include "include/encoding.h" |
16 | 16 | #include <stdint.h> |
17 | 17 |
|
18 | | -struct QuiesceDbEncoding { |
19 | | - static constexpr int version = 1; |
20 | | - static constexpr int compat = 1; |
21 | | -}; |
22 | | - |
23 | 18 | void encode(QuiesceDbVersion const& v, bufferlist& bl, uint64_t features = 0) |
24 | 19 | { |
| 20 | + ENCODE_START(1, 1, bl); |
25 | 21 | encode(v.epoch, bl, features); |
26 | 22 | encode(v.set_version, bl, features); |
| 23 | + ENCODE_FINISH(bl); |
27 | 24 | } |
28 | 25 |
|
29 | 26 | void decode(QuiesceDbVersion& v, bufferlist::const_iterator& p) |
30 | 27 | { |
| 28 | + DECODE_START(1, p); |
31 | 29 | decode(v.epoch, p); |
32 | 30 | decode(v.set_version, p); |
| 31 | + DECODE_FINISH(p); |
33 | 32 | } |
34 | 33 |
|
35 | 34 | void encode(QuiesceState const & state, bufferlist& bl, uint64_t features=0) |
@@ -60,126 +59,162 @@ void decode(QuiesceTimeInterval & interval, bufferlist::const_iterator& p) |
60 | 59 |
|
61 | 60 | void encode(RecordedQuiesceState const& rstate, bufferlist& bl, uint64_t features = 0) |
62 | 61 | { |
| 62 | + ENCODE_START(1, 1, bl); |
63 | 63 | encode(rstate.state, bl, features); |
64 | 64 | encode(rstate.at_age.count(), bl, features); |
| 65 | + ENCODE_FINISH(bl); |
65 | 66 | } |
66 | 67 |
|
67 | 68 | void decode(RecordedQuiesceState& rstate, bufferlist::const_iterator& p) |
68 | 69 | { |
| 70 | + DECODE_START(1, p); |
69 | 71 | decode(rstate.state, p); |
70 | 72 | decode(rstate.at_age, p); |
| 73 | + DECODE_FINISH(p); |
71 | 74 | } |
72 | 75 |
|
73 | 76 | void encode(QuiesceSet::MemberInfo const& member, bufferlist& bl, uint64_t features = 0) |
74 | 77 | { |
| 78 | + ENCODE_START(1, 1, bl); |
75 | 79 | encode(member.rstate, bl, features); |
76 | 80 | encode(member.excluded, bl, features); |
| 81 | + ENCODE_FINISH(bl); |
77 | 82 | } |
78 | 83 |
|
79 | 84 | void decode(QuiesceSet::MemberInfo& member, bufferlist::const_iterator& p) |
80 | 85 | { |
| 86 | + DECODE_START(1, p); |
81 | 87 | decode(member.rstate, p); |
82 | 88 | decode(member.excluded, p); |
| 89 | + DECODE_FINISH(p); |
83 | 90 | } |
84 | 91 |
|
85 | 92 | void encode(QuiesceSet const& set, bufferlist& bl, uint64_t features = 0) |
86 | 93 | { |
| 94 | + ENCODE_START(1, 1, bl); |
87 | 95 | encode(set.version, bl, features); |
88 | 96 | encode(set.rstate, bl, features); |
89 | | - encode(set.timeout, bl, features); |
90 | | - encode(set.expiration, bl, features); |
| 97 | + ::encode(set.timeout, bl, features); |
| 98 | + ::encode(set.expiration, bl, features); |
91 | 99 | encode(set.members, bl, features); |
| 100 | + ENCODE_FINISH(bl); |
92 | 101 | } |
93 | 102 |
|
94 | 103 | void decode(QuiesceSet& set, bufferlist::const_iterator& p) |
95 | 104 | { |
| 105 | + DECODE_START(1, p); |
96 | 106 | decode(set.version, p); |
97 | 107 | decode(set.rstate, p); |
98 | | - decode(set.timeout, p); |
99 | | - decode(set.expiration, p); |
| 108 | + ::decode(set.timeout, p); |
| 109 | + ::decode(set.expiration, p); |
100 | 110 | decode(set.members, p); |
| 111 | + DECODE_FINISH(p); |
101 | 112 | } |
102 | 113 |
|
103 | 114 | void encode(QuiesceDbRequest const& req, bufferlist& bl, uint64_t features = 0) |
104 | 115 | { |
| 116 | + ENCODE_START(1, 1, bl); |
105 | 117 | encode(req.control.raw, bl, features); |
106 | 118 | encode(req.set_id, bl); |
107 | 119 | encode(req.if_version, bl); |
108 | 120 | encode(req.timeout, bl); |
109 | 121 | encode(req.expiration, bl); |
110 | 122 | encode(req.await, bl); |
111 | 123 | encode(req.roots, bl); |
| 124 | + ENCODE_FINISH(bl); |
112 | 125 | } |
113 | 126 |
|
114 | 127 | void decode(QuiesceDbRequest& req, bufferlist::const_iterator& p) |
115 | 128 | { |
| 129 | + DECODE_START(1, p); |
116 | 130 | decode(req.control.raw, p); |
117 | 131 | decode(req.set_id, p); |
118 | 132 | decode(req.if_version, p); |
119 | 133 | decode(req.timeout, p); |
120 | 134 | decode(req.expiration, p); |
121 | 135 | decode(req.await, p); |
122 | 136 | decode(req.roots, p); |
| 137 | + DECODE_FINISH(p); |
123 | 138 | } |
124 | 139 |
|
125 | 140 | void encode(QuiesceDbListing const& listing, bufferlist& bl, uint64_t features = 0) |
126 | 141 | { |
| 142 | + ENCODE_START(1, 1, bl); |
127 | 143 | encode(listing.db_version, bl, features); |
128 | | - encode(listing.db_age, bl, features); |
| 144 | + ::encode(listing.db_age, bl, features); |
129 | 145 | encode(listing.sets, bl, features); |
| 146 | + ENCODE_FINISH(bl); |
130 | 147 | } |
131 | 148 |
|
132 | 149 | void decode(QuiesceDbListing& listing, bufferlist::const_iterator& p) |
133 | 150 | { |
| 151 | + DECODE_START(1, p); |
134 | 152 | decode(listing.db_version, p); |
135 | | - decode(listing.db_age, p); |
| 153 | + ::decode(listing.db_age, p); |
136 | 154 | decode(listing.sets, p); |
| 155 | + DECODE_FINISH(p); |
137 | 156 | } |
138 | 157 |
|
139 | 158 | void encode(QuiesceDbPeerListing const& listing, bufferlist& bl, uint64_t features = 0) |
140 | 159 | { |
| 160 | + ENCODE_START(1, 1, bl); |
141 | 161 | encode(listing.origin, bl, features); |
142 | 162 | encode(listing.db, bl, features); |
| 163 | + ENCODE_FINISH(bl); |
143 | 164 | } |
144 | 165 |
|
145 | 166 | void decode(QuiesceDbPeerListing& listing, bufferlist::const_iterator& p) |
146 | 167 | { |
| 168 | + DECODE_START(1, p); |
147 | 169 | decode(listing.origin, p); |
148 | 170 | decode(listing.db, p); |
| 171 | + DECODE_FINISH(p); |
149 | 172 | } |
150 | 173 |
|
151 | 174 | void encode(QuiesceMap::RootInfo const& root, bufferlist& bl, uint64_t features = 0) |
152 | 175 | { |
| 176 | + ENCODE_START(1, 1, bl); |
153 | 177 | encode(root.state, bl, features); |
154 | | - encode(root.ttl, bl, features); |
| 178 | + ::encode(root.ttl, bl, features); |
| 179 | + ENCODE_FINISH(bl); |
155 | 180 | } |
156 | 181 |
|
157 | 182 | void decode(QuiesceMap::RootInfo& root, bufferlist::const_iterator& p) |
158 | 183 | { |
| 184 | + DECODE_START(1, p); |
159 | 185 | decode(root.state, p); |
160 | | - decode(root.ttl, p); |
| 186 | + ::decode(root.ttl, p); |
| 187 | + DECODE_FINISH(p); |
161 | 188 | } |
162 | 189 |
|
163 | 190 | void encode(QuiesceMap const& map, bufferlist& bl, uint64_t features = 0) |
164 | 191 | { |
| 192 | + ENCODE_START(1, 1, bl); |
165 | 193 | encode(map.db_version, bl, features); |
166 | 194 | encode(map.roots, bl, features); |
| 195 | + ENCODE_FINISH(bl); |
167 | 196 | } |
168 | 197 |
|
169 | 198 | void decode(QuiesceMap& map, bufferlist::const_iterator& p) |
170 | 199 | { |
| 200 | + DECODE_START(1, p); |
171 | 201 | decode(map.db_version, p); |
172 | 202 | decode(map.roots, p); |
| 203 | + DECODE_FINISH(p); |
173 | 204 | } |
174 | 205 |
|
175 | 206 | void encode(QuiesceDbPeerAck const& ack, bufferlist& bl, uint64_t features = 0) |
176 | 207 | { |
| 208 | + ENCODE_START(1, 1, bl); |
177 | 209 | encode(ack.origin, bl, features); |
178 | 210 | encode(ack.diff_map, bl, features); |
| 211 | + ENCODE_FINISH(bl); |
179 | 212 | } |
180 | 213 |
|
181 | 214 | void decode(QuiesceDbPeerAck& ack, bufferlist::const_iterator& p) |
182 | 215 | { |
| 216 | + DECODE_START(1, p); |
183 | 217 | decode(ack.origin, p); |
184 | 218 | decode(ack.diff_map, p); |
| 219 | + DECODE_FINISH(p); |
185 | 220 | } |
0 commit comments