Make last shred for an interrupted slot signed + typed (bp #6760) (#6763)

automerge
This commit is contained in:
mergify[bot]
2019-11-06 13:27:32 -08:00
committed by Grimes
parent 17205c3e19
commit b2cc259197
3 changed files with 69 additions and 25 deletions

View File

@@ -3813,7 +3813,7 @@ pub mod tests {
slot,
next_shred_index as u32,
1,
None,
Some(&[1, 1, 1]),
true,
true,
)];

View File

@@ -152,22 +152,23 @@ impl Shred {
data_header.flags |= LAST_SHRED_IN_SLOT
}
let mut start = 0;
Self::serialize_obj_into(
&mut start,
SIZE_OF_COMMON_SHRED_HEADER,
&mut payload,
&common_header,
)
.expect("Failed to write header into shred buffer");
Self::serialize_obj_into(
&mut start,
SIZE_OF_DATA_SHRED_HEADER,
&mut payload,
&data_header,
)
.expect("Failed to write data header into shred buffer");
if let Some(data) = data {
let mut start = 0;
Self::serialize_obj_into(
&mut start,
SIZE_OF_COMMON_SHRED_HEADER,
&mut payload,
&common_header,
)
.expect("Failed to write header into shred buffer");
Self::serialize_obj_into(
&mut start,
SIZE_OF_DATA_SHRED_HEADER,
&mut payload,
&data_header,
)
.expect("Failed to write data header into shred buffer");
payload[start..start + data.len()].clone_from_slice(data);
}