Skip to content

Commit 3b521e5

Browse files
committed
more map_decode
1 parent be60bca commit 3b521e5

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

src/oplog/header.rs

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -233,13 +233,15 @@ impl CompactEncoding for Header {
233233

234234
fn encode<'a>(&self, buffer: &'a mut [u8]) -> Result<&'a mut [u8], EncodingError> {
235235
let rest = write_array(&[1, 2 | 4], buffer)?;
236-
let rest = self.key.encode(rest)?;
237-
let rest = self.manifest.encode(rest)?;
238-
let rest = self.key_pair.encode(rest)?;
239-
let rest = self.user_data.encode(rest)?;
240-
let rest = self.tree.encode(rest)?;
241-
let rest = self.hints.encode(rest)?;
242-
Ok(rest)
236+
Ok(map_encode!(
237+
rest,
238+
self.key,
239+
self.manifest,
240+
self.key_pair,
241+
self.user_data,
242+
self.tree,
243+
self.hints
244+
))
243245
}
244246

245247
fn decode(buffer: &[u8]) -> Result<(Self, &[u8]), EncodingError>
@@ -248,11 +250,11 @@ impl CompactEncoding for Header {
248250
{
249251
let ([_version, _flags], rest) = take_array::<2>(buffer)?;
250252
let (key, rest) = take_array::<32>(rest)?;
251-
let (manifest, rest) = Manifest::decode(rest)?;
252-
let (key_pair, rest) = PartialKeypair::decode(rest)?;
253-
let (user_data, rest) = <Vec<String>>::decode(rest)?;
254-
let (tree, rest) = HeaderTree::decode(rest)?;
255-
let (hints, rest) = HeaderHints::decode(rest)?;
253+
let ((manifest, key_pair, user_data, tree, hints), rest) = map_decode!(
254+
rest, [
255+
Manifest, PartialKeypair, Vec<String>, HeaderTree, HeaderHints
256+
]
257+
);
256258
Ok((
257259
Header {
258260
key,

0 commit comments

Comments
 (0)