Hoist untested branch in window
If there were unit tests for this function, the author would have written it this way to make their own life easier.
This commit is contained in:
@ -45,12 +45,9 @@ fn find_next_missing(
|
||||
recycler: &BlobRecycler,
|
||||
consumed: u64,
|
||||
received: u64,
|
||||
) -> Option<Vec<(SocketAddr, Vec<u8>)>> {
|
||||
if received <= consumed {
|
||||
return None;
|
||||
}
|
||||
) -> Vec<(SocketAddr, Vec<u8>)> {
|
||||
let mut window = window.write().unwrap();
|
||||
let reqs: Vec<_> = (consumed..received)
|
||||
(consumed..received)
|
||||
.filter_map(|pix| {
|
||||
let i = (pix % WINDOW_SIZE) as usize;
|
||||
|
||||
@ -70,8 +67,7 @@ fn find_next_missing(
|
||||
}
|
||||
None
|
||||
})
|
||||
.collect();
|
||||
Some(reqs)
|
||||
.collect()
|
||||
}
|
||||
|
||||
fn calculate_highest_lost_blob_index(num_peers: u64, consumed: u64, received: u64) -> u64 {
|
||||
@ -131,7 +127,12 @@ fn repair_window(
|
||||
consumed,
|
||||
received,
|
||||
);
|
||||
if let Some(reqs) = find_next_missing(window, crdt, recycler, consumed, highest_lost) {
|
||||
|
||||
if received <= consumed {
|
||||
return None;
|
||||
}
|
||||
|
||||
let reqs = find_next_missing(window, crdt, recycler, consumed, highest_lost);
|
||||
inc_new_counter_info!("streamer-repair_window-repair", reqs.len());
|
||||
if log_enabled!(Level::Trace) {
|
||||
trace!(
|
||||
@ -148,9 +149,6 @@ fn repair_window(
|
||||
}
|
||||
}
|
||||
Some(reqs)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
fn add_block_to_retransmit_queue(
|
||||
|
Reference in New Issue
Block a user