mirror of
https://github.com/feschber/lan-mouse.git
synced 2026-04-08 06:21:28 +03:00
simplify
This commit is contained in:
@@ -178,7 +178,7 @@ impl Server {
|
|||||||
tokio::select! {
|
tokio::select! {
|
||||||
stream = frontend.accept() => {
|
stream = frontend.accept() => {
|
||||||
match stream {
|
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}"),
|
Err(e) => log::warn!("error accepting frontend connection: {e}"),
|
||||||
};
|
};
|
||||||
self.enumerate();
|
self.enumerate();
|
||||||
@@ -351,21 +351,6 @@ impl Server {
|
|||||||
false
|
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) {
|
fn enumerate(&self) {
|
||||||
let clients = self
|
let clients = self
|
||||||
.client_manager
|
.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