Fix non-erasure blob nulling
This commit is contained in:
committed by
Greg Fitzgerald
parent
a06535d7ed
commit
a710d95243
@ -319,19 +319,27 @@ fn recv_window(
|
|||||||
if !is_coding {
|
if !is_coding {
|
||||||
contq.push_back(window[k].clone().expect("clone in fn recv_window"));
|
contq.push_back(window[k].clone().expect("clone in fn recv_window"));
|
||||||
*consumed += 1;
|
*consumed += 1;
|
||||||
} else {
|
|
||||||
let block_start = *consumed - (*consumed % erasure::NUM_CODED);
|
|
||||||
let coding_end = block_start + erasure::NUM_CODED;
|
|
||||||
// We've received all this block's data blobs, go and null out the window now
|
|
||||||
for j in block_start..coding_end {
|
|
||||||
window[j % WINDOW_SIZE] = None;
|
|
||||||
}
|
|
||||||
|
|
||||||
*consumed += erasure::MAX_MISSING;
|
#[cfg(not(feature = "erasure"))]
|
||||||
debug!(
|
{
|
||||||
"skipping processing coding blob k: {} consumed: {}",
|
window[k] = None;
|
||||||
k, *consumed
|
}
|
||||||
);
|
} else {
|
||||||
|
#[cfg(feature = "erasure")]
|
||||||
|
{
|
||||||
|
let block_start = *consumed - (*consumed % erasure::NUM_CODED);
|
||||||
|
let coding_end = block_start + erasure::NUM_CODED;
|
||||||
|
// We've received all this block's data blobs, go and null out the window now
|
||||||
|
for j in block_start..coding_end {
|
||||||
|
window[j % WINDOW_SIZE] = None;
|
||||||
|
}
|
||||||
|
|
||||||
|
*consumed += erasure::MAX_MISSING;
|
||||||
|
debug!(
|
||||||
|
"skipping processing coding blob k: {} consumed: {}",
|
||||||
|
k, *consumed
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user