aquatic_udp: move code only use in mio impl out of crate::common

This commit is contained in:
Joakim Frostegård 2021-10-21 15:35:21 +02:00
parent 81b7777a4a
commit b10f7b89e7
16 changed files with 89 additions and 71 deletions

View file

@ -47,7 +47,8 @@ pub async fn run_request_worker(
torrents.clone(),
response_senders.clone(),
receiver,
)).detach();
))
.detach();
handles.push(handle);
}

View file

@ -1,3 +1,8 @@
//! Work-in-progress glommio (io_uring) implementation
//!
//! * Doesn't support scrape requests
//! * Currently not faster than mio implementation
use std::sync::{atomic::AtomicUsize, Arc};
use glommio::channels::channel_mesh::MeshBuilder;

View file

@ -51,13 +51,15 @@ pub async fn run_socket_worker(
response_consumer_index,
local_sender,
socket.clone(),
)).detach();
))
.detach();
for (_, receiver) in response_receivers.streams().into_iter() {
spawn_local(send_responses(
socket.clone(),
receiver.map(|(response, addr)| (response.into(), addr)),
)).detach();
))
.detach();
}
send_responses(socket, local_receiver.stream()).await;
@ -174,7 +176,7 @@ where
while let Some((response, src)) = stream.next().await {
buf.set_position(0);
::log::debug!("preparing to send response: {:?}", response.clone());
response