Fix coding shred generator (#5865)
This commit is contained in:
parent
39f89e5a56
commit
fd33b27af1
|
@ -265,6 +265,7 @@ pub struct Shredder {
|
||||||
fec_rate: f32,
|
fec_rate: f32,
|
||||||
signer: Arc<Keypair>,
|
signer: Arc<Keypair>,
|
||||||
pub shreds: Vec<Vec<u8>>,
|
pub shreds: Vec<Vec<u8>>,
|
||||||
|
fec_set_shred_start: usize,
|
||||||
active_shred: Option<Shred>,
|
active_shred: Option<Shred>,
|
||||||
active_offset: usize,
|
active_offset: usize,
|
||||||
}
|
}
|
||||||
|
@ -424,8 +425,7 @@ impl Shredder {
|
||||||
|
|
||||||
// All information after "reserved" field (coding shred header) in a data shred is encoded
|
// All information after "reserved" field (coding shred header) in a data shred is encoded
|
||||||
let coding_block_offset = CodingShred::overhead();
|
let coding_block_offset = CodingShred::overhead();
|
||||||
let data_ptrs: Vec<_> = self
|
let data_ptrs: Vec<_> = self.shreds[self.fec_set_shred_start..]
|
||||||
.shreds
|
|
||||||
.iter()
|
.iter()
|
||||||
.map(|data| &data[coding_block_offset..])
|
.map(|data| &data[coding_block_offset..])
|
||||||
.collect();
|
.collect();
|
||||||
|
@ -466,6 +466,7 @@ impl Shredder {
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.for_each(|code| self.finalize_shred(code, coding_header_offset));
|
.for_each(|code| self.finalize_shred(code, coding_header_offset));
|
||||||
self.fec_set_index = self.index;
|
self.fec_set_index = self.index;
|
||||||
|
self.fec_set_shred_start = self.shreds.len();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue