mirror of
https://github.com/feschber/lan-mouse.git
synced 2026-03-07 11:59:59 +03:00
simplify
This commit is contained in:
@@ -178,7 +178,7 @@ impl Server {
|
||||
tokio::select! {
|
||||
stream = frontend.accept() => {
|
||||
match stream {
|
||||
Ok(s) => join_handles.push(self.clone().handle_frontend_stream(s, request_tx.clone())),
|
||||
Ok(s) => join_handles.push(handle_frontend_stream(self.notifies.cancel.clone(), s, request_tx.clone())),
|
||||
Err(e) => log::warn!("error accepting frontend connection: {e}"),
|
||||
};
|
||||
self.enumerate();
|
||||
@@ -351,21 +351,6 @@ impl Server {
|
||||
false
|
||||
}
|
||||
|
||||
fn handle_frontend_stream(
|
||||
self,
|
||||
#[cfg(unix)] stream: ReadHalf<UnixStream>,
|
||||
#[cfg(windows)] stream: ReadHalf<TcpStream>,
|
||||
request_channel: Sender<FrontendRequest>,
|
||||
) -> JoinHandle<()> {
|
||||
let tx = request_channel.clone();
|
||||
tokio::task::spawn_local(async move {
|
||||
tokio::select! {
|
||||
_ = listen_frontend(tx, stream) => {},
|
||||
_ = self.cancelled() => {},
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fn enumerate(&self) {
|
||||
let clients = self
|
||||
.client_manager
|
||||
@@ -563,3 +548,18 @@ async fn listen_frontend(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn handle_frontend_stream(
|
||||
cancel: CancellationToken,
|
||||
#[cfg(unix)] stream: ReadHalf<UnixStream>,
|
||||
#[cfg(windows)] stream: ReadHalf<TcpStream>,
|
||||
request_channel: Sender<FrontendRequest>,
|
||||
) -> JoinHandle<()> {
|
||||
let tx = request_channel.clone();
|
||||
tokio::task::spawn_local(async move {
|
||||
tokio::select! {
|
||||
_ = listen_frontend(tx, stream) => {},
|
||||
_ = cancel.cancelled() => {},
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user