Use tokio::select

This commit is contained in:
moznion
2020-11-23 11:40:22 +09:00
parent 6164f7b597
commit 1d8f3b5daf
+6 -1
View File
@@ -39,7 +39,10 @@ impl<T: RequestHandler, U: SecretProvider> Server<T, U> {
loop {
let conn = conn_arc.clone();
let (size, remote_addr) = conn.recv_from(&mut buf).await?;
tokio::select! {
received = conn.recv_from(&mut buf) => {
let (size, remote_addr) = received?;
let request_data = buf[..size].to_vec();
let local_addr = match conn.local_addr() {
@@ -66,6 +69,8 @@ impl<T: RequestHandler, U: SecretProvider> Server<T, U> {
});
}
}
}
}
async fn process_request(
conn: Arc<UdpSocket>,