removed select statements

This commit is contained in:
michael-bailey 2024-05-11 16:58:46 +01:00
parent 228de2ced8
commit 787dfcd022
2 changed files with 21 additions and 27 deletions

View File

@ -1,10 +1,5 @@
use async_trait::async_trait;
use tokio::{
net::TcpListener,
select,
sync::mpsc::UnboundedSender,
task::JoinHandle,
};
use tokio::{net::TcpListener, sync::mpsc::UnboundedSender, task::JoinHandle};
use crate::{
network::{ConnectionType, NetworkListener},
@ -36,16 +31,18 @@ impl NetworkListener for JSONListener {
async fn run(&self) {
loop {
println!("[JSONListener] waiting for connection");
let accept_protobuf = self.listener.accept();
let accept_protobuf = self.listener.accept().await;
let msg = select! {
Ok((stream, addr)) = accept_protobuf => {
println!("[JSONListener] accepted connection");
ServerMessages::NewConnection(ConnectionType::JsonConnection(stream, addr))
}
let Ok((stream, addr)) = accept_protobuf else {
println!("[JSONListener] accept failed");
continue;
};
let msg = ServerMessages::NewConnection(ConnectionType::JsonConnection(
stream, addr,
));
println!("[JSONListener] passing message to server");
self.sender.send(msg).unwrap();
_ = self.sender.send(msg);
}
}

View File

@ -1,10 +1,5 @@
use async_trait::async_trait;
use tokio::{
net::TcpListener,
select,
sync::mpsc::UnboundedSender,
task::JoinHandle,
};
use tokio::{net::TcpListener, sync::mpsc::UnboundedSender, task::JoinHandle};
use crate::{
network::{ConnectionType, NetworkListener},
@ -37,16 +32,18 @@ impl NetworkListener for ProtobufListener {
async fn run(&self) {
loop {
println!("[ProtobufListener] waiting for connection");
let accept_protobuf = self.protobuf_listener.accept();
let msg = select! {
Ok((stream, addr)) = accept_protobuf => {
println!("[ProtobufListener] accepted connection");
ServerMessages::NewConnection(ConnectionType::ProtobufConnection(stream, addr))
}
let accept_protobuf = self.protobuf_listener.accept().await;
let Ok((stream, addr)) = accept_protobuf else {
println!("[ProtobufListener] accept failed");
continue;
};
let msg = ServerMessages::NewConnection(
ConnectionType::ProtobufConnection(stream, addr),
);
println!("[ProtobufListener] passing message to server");
self.sender.send(msg).unwrap();
_ = self.sender.send(msg);
}
}