aquatic_udp: glommio: return scrape stats in correct order

This commit is contained in:
Joakim Frostegård 2021-10-23 16:00:41 +02:00
parent 0e58347ac4
commit 821608ab50
6 changed files with 108 additions and 59 deletions

View file

@ -42,15 +42,20 @@ pub fn bench_scrape_handler(
for round in (0..bench_config.num_rounds).progress_with(pb) {
for request_chunk in requests.chunks(p) {
for (request, src) in request_chunk {
request_sender
.send((ConnectedRequest::Scrape(request.clone()), *src))
.unwrap();
let request = ConnectedRequest::Scrape {
request: request.clone(),
original_indices: Vec::new(),
};
request_sender.send((request, *src)).unwrap();
}
while let Ok((ConnectedResponse::Scrape(r), _)) = response_receiver.try_recv() {
while let Ok((ConnectedResponse::Scrape { response, .. }, _)) =
response_receiver.try_recv()
{
num_responses += 1;
if let Some(stat) = r.torrent_stats.last() {
if let Some(stat) = response.torrent_stats.last() {
dummy ^= stat.leechers.0;
}
}
@ -59,10 +64,10 @@ pub fn bench_scrape_handler(
let total = bench_config.num_scrape_requests * (round + 1);
while num_responses < total {
if let Ok((ConnectedResponse::Scrape(r), _)) = response_receiver.recv() {
if let Ok((ConnectedResponse::Scrape { response, .. }, _)) = response_receiver.recv() {
num_responses += 1;
if let Some(stat) = r.torrent_stats.last() {
if let Some(stat) = response.torrent_stats.last() {
dummy ^= stat.leechers.0;
}
}