From fd33b27af1a244301873f13b287e77b8a05ae9e2 Mon Sep 17 00:00:00 2001 From: Pankaj Garg Date: Tue, 10 Sep 2019 09:35:07 -0700 Subject: [PATCH] Fix coding shred generator (#5865) --- core/src/shred.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/shred.rs b/core/src/shred.rs index b8cdc8d6f2..d41c146f54 100644 --- a/core/src/shred.rs +++ b/core/src/shred.rs @@ -265,6 +265,7 @@ pub struct Shredder { fec_rate: f32, signer: Arc, pub shreds: Vec>, + fec_set_shred_start: usize, active_shred: Option, active_offset: usize, } @@ -424,8 +425,7 @@ impl Shredder { // All information after "reserved" field (coding shred header) in a data shred is encoded let coding_block_offset = CodingShred::overhead(); - let data_ptrs: Vec<_> = self - .shreds + let data_ptrs: Vec<_> = self.shreds[self.fec_set_shred_start..] .iter() .map(|data| &data[coding_block_offset..]) .collect(); @@ -466,6 +466,7 @@ impl Shredder { .into_iter() .for_each(|code| self.finalize_shred(code, coding_header_offset)); self.fec_set_index = self.index; + self.fec_set_shred_start = self.shreds.len(); } }