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

@ -55,8 +55,8 @@ pub fn run_request_worker(
};
match request {
ConnectedRequest::Announce(r) => announce_requests.push((r, src)),
ConnectedRequest::Scrape(r) => scrape_requests.push((r, src)),
ConnectedRequest::Announce(request) => announce_requests.push((request, src)),
ConnectedRequest::Scrape { request, .. } => scrape_requests.push((request, src)),
}
}
@ -80,8 +80,10 @@ pub fn run_request_worker(
}));
responses.extend(scrape_requests.drain(..).map(|(request, src)| {
let response =
ConnectedResponse::Scrape(handle_scrape_request(&mut torrents, src, request));
let response = ConnectedResponse::Scrape {
response: handle_scrape_request(&mut torrents, src, request),
original_indices: Vec::new(),
};
(response, src)
}));

View file

@ -192,9 +192,12 @@ fn read_requests(
}
Ok(Request::Scrape(request)) => {
if connections.contains(request.connection_id, src) {
if let Err(err) =
request_sender.try_send((ConnectedRequest::Scrape(request), src))
{
let request = ConnectedRequest::Scrape {
request,
original_indices: Vec::new(),
};
if let Err(err) = request_sender.try_send((request, src)) {
::log::warn!("request_sender.try_send failed: {:?}", err)
}
}