From f6bf48e3c82cbc673e6994f897c3bda40370bdc9 Mon Sep 17 00:00:00 2001 From: behzad nouri Date: Tue, 16 Mar 2021 10:09:16 +0000 Subject: [PATCH] renames is_last_in_fec_set back to is_last_data (#15848) https://github.com/solana-labs/solana/pull/10095 renamed is_last_data to is_last_in_fec_set. However, the code shows that this is actually meant to indicate where the serialized data is complete: https://github.com/solana-labs/solana/blob/420174d3d/ledger/src/shred.rs#L599-L600 https://github.com/solana-labs/solana/blob/420174d3d/ledger/src/shred.rs#L229-L231 There are multiple FEC sets for each `&[Entry]` serialized and this flag does not represent shreds last in FEC sets (only the very last one by overlap). So the name is wrong and confusing (cherry picked from commit 3b85cbc504f14339e343d892638961f9d82dfe00) --- ledger/src/shred.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ledger/src/shred.rs b/ledger/src/shred.rs index 013dc57a5a..d83416694a 100644 --- a/ledger/src/shred.rs +++ b/ledger/src/shred.rs @@ -201,7 +201,7 @@ impl Shred { index: u32, parent_offset: u16, data: Option<&[u8]>, - is_last_in_fec_set: bool, + is_last_data: bool, is_last_in_slot: bool, reference_tick: u8, version: u16, @@ -226,7 +226,7 @@ impl Shred { size, }; - if is_last_in_fec_set { + if is_last_data { data_header.flags |= DATA_COMPLETE_SHRED } @@ -596,7 +596,7 @@ impl Shredder { let fec_set_index = shred_index - (i % MAX_DATA_SHREDS_PER_FEC_BLOCK as usize) as u32; - let (is_last_in_fec_set, is_last_in_slot) = { + let (is_last_data, is_last_in_slot) = { if shred_index == last_shred_index { (true, is_last_in_slot) } else { @@ -609,7 +609,7 @@ impl Shredder { shred_index, (self.slot - self.parent_slot) as u16, Some(shred_data), - is_last_in_fec_set, + is_last_data, is_last_in_slot, self.reference_tick, self.version, @@ -1082,7 +1082,7 @@ pub fn verify_test_data_shred( pk: &Pubkey, verify: bool, is_last_in_slot: bool, - is_last_in_fec_set: bool, + is_last_data: bool, ) { assert_eq!(shred.payload.len(), SHRED_PAYLOAD_SIZE); assert!(shred.is_data()); @@ -1095,7 +1095,7 @@ pub fn verify_test_data_shred( } else { assert!(!shred.last_in_slot()); } - if is_last_in_fec_set { + if is_last_data { assert!(shred.data_complete()); } else { assert!(!shred.data_complete());