diff --git a/core/src/retransmit_stage.rs b/core/src/retransmit_stage.rs index 256b2c1c25..a602c9362d 100644 --- a/core/src/retransmit_stage.rs +++ b/core/src/retransmit_stage.rs @@ -632,19 +632,19 @@ mod tests { assert!(should_skip_retransmit(&shred, &shreds_received)); assert!(should_skip_retransmit(&shred, &shreds_received)); - let shred = Shred::new_empty_coding(slot, index, 0, 1, 1, 0, version); + let shred = Shred::new_empty_coding(slot, index, 0, 1, 1, version); // Coding at (1, 5) passes assert!(!should_skip_retransmit(&shred, &shreds_received)); // then blocked assert!(should_skip_retransmit(&shred, &shreds_received)); - let shred = Shred::new_empty_coding(slot, index, 2, 1, 1, 0, version); + let shred = Shred::new_empty_coding(slot, index, 2, 1, 1, version); // 2nd unique coding at (1, 5) passes assert!(!should_skip_retransmit(&shred, &shreds_received)); // same again is blocked assert!(should_skip_retransmit(&shred, &shreds_received)); - let shred = Shred::new_empty_coding(slot, index, 3, 1, 1, 0, version); + let shred = Shred::new_empty_coding(slot, index, 3, 1, 1, version); // Another unique coding at (1, 5) always blocked assert!(should_skip_retransmit(&shred, &shreds_received)); assert!(should_skip_retransmit(&shred, &shreds_received)); diff --git a/core/src/window_service.rs b/core/src/window_service.rs index 2e8344cfe8..3438b16178 100644 --- a/core/src/window_service.rs +++ b/core/src/window_service.rs @@ -791,15 +791,7 @@ mod test { )); // If it's a coding shred, test that slot >= root - let (common, coding) = Shredder::new_coding_shred_header( - 5, // slot - 5, // index - 5, // fec_set_index - 6, // num_data_shreds - 6, // num_coding_shreds - 3, // position - 0, // version - ); + let (common, coding) = Shredder::new_coding_shred_header(5, 5, 5, 6, 6, 0); let mut coding_shred = Shred::new_empty_from_header(common, DataShredHeader::default(), coding); Shredder::sign_shred(&leader_keypair, &mut coding_shred); @@ -926,15 +918,7 @@ mod test { std::net::{IpAddr, Ipv4Addr}, }; solana_logger::setup(); - let (common, coding) = Shredder::new_coding_shred_header( - 5, // slot - 5, // index - 5, // fec_set_index - 6, // num_data_shreds - 6, // num_coding_shreds - 4, // position - 0, // version - ); + let (common, coding) = Shredder::new_coding_shred_header(5, 5, 5, 6, 6, 0); let shred = Shred::new_empty_from_header(common, DataShredHeader::default(), coding); let mut shreds = vec![shred.clone(), shred.clone(), shred]; let _from_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080); diff --git a/ledger/src/blockstore.rs b/ledger/src/blockstore.rs index 96a83c65fe..f0f0b44db8 100644 --- a/ledger/src/blockstore.rs +++ b/ledger/src/blockstore.rs @@ -5717,14 +5717,7 @@ pub mod tests { let blockstore = Blockstore::open(&blockstore_path).unwrap(); let slot = 1; - let (shred, coding) = Shredder::new_coding_shred_header( - slot, 11, // index - 11, // fec_set_index - 11, // num_data_shreds - 11, // num_coding_shreds - 8, // position - 0, // version - ); + let (shred, coding) = Shredder::new_coding_shred_header(slot, 11, 11, 11, 11, 0); let coding_shred = Shred::new_empty_from_header(shred, DataShredHeader::default(), coding); @@ -5774,14 +5767,7 @@ pub mod tests { let last_root = RwLock::new(0); let slot = 1; - let (mut shred, coding) = Shredder::new_coding_shred_header( - slot, 11, // index - 11, // fec_set_index - 11, // num_data_shreds - 11, // num_coding_shreds - 8, // position - 0, // version - ); + let (mut shred, coding) = Shredder::new_coding_shred_header(slot, 11, 11, 11, 11, 0); let coding_shred = Shred::new_empty_from_header( shred.clone(), DataShredHeader::default(), diff --git a/ledger/src/shred.rs b/ledger/src/shred.rs index d6a6acb4b5..f922a18631 100644 --- a/ledger/src/shred.rs +++ b/ledger/src/shred.rs @@ -75,12 +75,7 @@ use { pubkey::Pubkey, signature::{Keypair, Signature, Signer}, }, - std::{ - convert::{TryFrom, TryInto}, - mem::size_of, - ops::Deref, - sync::Arc, - }, + std::{convert::TryInto, mem::size_of, ops::Deref, sync::Arc}, thiserror::Error, }; @@ -208,7 +203,8 @@ pub struct DataShredHeader { pub struct CodingShredHeader { pub num_data_shreds: u16, pub num_coding_shreds: u16, - pub position: u16, + #[serde(rename = "position")] + __unused: u16, } #[derive(Clone, Debug, PartialEq)] @@ -366,9 +362,8 @@ impl Shred { slot: Slot, index: u32, fec_set_index: u32, - num_data: u16, - num_code: u16, - position: u16, + num_data: usize, + num_code: usize, version: u16, ) -> Self { let (header, coding_header) = Shredder::new_coding_shred_header( @@ -377,7 +372,6 @@ impl Shred { fec_set_index, num_data, num_code, - position, version, ); Shred::new_empty_from_header(header, DataShredHeader::default(), coding_header) @@ -763,9 +757,8 @@ impl Shredder { slot: Slot, index: u32, fec_set_index: u32, - num_data_shreds: u16, - num_coding_shreds: u16, - position: u16, + num_data: usize, + num_code: usize, version: u16, ) -> (ShredCommonHeader, CodingShredHeader) { let header = ShredCommonHeader { @@ -779,9 +772,9 @@ impl Shredder { ( header, CodingShredHeader { - num_data_shreds, - num_coding_shreds, - position, + num_data_shreds: num_data as u16, + num_coding_shreds: num_code as u16, + ..CodingShredHeader::default() }, ) } @@ -817,8 +810,6 @@ impl Shredder { .unwrap() .encode(&data, &mut parity[..]) .unwrap(); - let num_data = u16::try_from(num_data).unwrap(); - let num_coding = u16::try_from(num_coding).unwrap(); parity .iter() .enumerate() @@ -829,7 +820,6 @@ impl Shredder { fec_set_index, num_data, num_coding, - u16::try_from(i).unwrap(), // position version, ); shred.payload[SIZE_OF_CODING_SHRED_HEADERS..].copy_from_slice(parity); @@ -1957,15 +1947,7 @@ pub mod tests { ); assert_eq!(stats.index_overrun, 4); - let shred = Shred::new_empty_coding( - 8, // slot - 2, // index - 10, // fec_set_index - 30, // num_data - 4, // num_code - 1, // position - 200, // version - ); + let shred = Shred::new_empty_coding(8, 2, 10, 30, 4, 200); shred.copy_to_packet(&mut packet); assert_eq!( Some((8, 2, false)), @@ -1977,15 +1959,7 @@ pub mod tests { assert_eq!(None, get_shred_slot_index_type(&packet, &mut stats)); assert_eq!(1, stats.index_out_of_bounds); - let (mut header, coding_header) = Shredder::new_coding_shred_header( - 8, // slot - 2, // index - 10, // fec_set_index - 30, // num_data_shreds - 4, // num_coding_shreds - 3, // position - 200, // version - ); + let (mut header, coding_header) = Shredder::new_coding_shred_header(8, 2, 10, 30, 4, 200); header.shred_type = ShredType(u8::MAX); let shred = Shred::new_empty_from_header(header, DataShredHeader::default(), coding_header); shred.copy_to_packet(&mut packet);