diff options
| author | 1992414357@qq.com <1992414357@qq.com> | 2025-06-09 10:29:05 +0800 |
|---|---|---|
| committer | 1992414357@qq.com <1992414357@qq.com> | 2025-06-09 10:29:05 +0800 |
| commit | c8ece4c62b6f8b5165de4d9d38a467bbc1e94a53 (patch) | |
| tree | a23115fef3cee8a888e43c0c245ad63d6526296f /core/src/service | |
| parent | 7093b08b8efd6e35a434b2923c40b763b51e675b (diff) | |
修改了导出脚本
Diffstat (limited to 'core/src/service')
| -rw-r--r-- | core/src/service/cli_addition/runtime_consoles.rs | 10 | ||||
| -rw-r--r-- | core/src/service/tcp_network/pad_server/implements.rs | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/core/src/service/cli_addition/runtime_consoles.rs b/core/src/service/cli_addition/runtime_consoles.rs index 76ff20c..38d8404 100644 --- a/core/src/service/cli_addition/runtime_consoles.rs +++ b/core/src/service/cli_addition/runtime_consoles.rs @@ -1,6 +1,7 @@ use crate::service::cli_addition::utils::read_cli; use clap::{Command, FromArgMatches}; use std::sync::{Arc, Mutex}; +use log::info; use tokio::{join, spawn}; use crate::service::service_runner::NoGamepadsService; @@ -9,14 +10,14 @@ where Cmd: FromArgMatches { command: Command, prefix: String, service: Arc<Mutex<PadService>>, - process_command: fn(Arc<Mutex<PadService>>, Cmd), + process_command: fn(Arc<Mutex<PadService>>, Cmd) -> bool, } impl<PadService: Send + 'static, Cmd: FromArgMatches + 'static> RuntimeConsole<PadService, Cmd> { pub fn build(command: Command, prefix: String, service: Arc<Mutex<PadService>>, - process_command: fn(Arc<Mutex<PadService>>, Cmd), + process_command: fn(Arc<Mutex<PadService>>, Cmd) -> bool, ) -> RuntimeConsole<PadService, Cmd> { RuntimeConsole { command, prefix, service, process_command } } @@ -52,9 +53,12 @@ impl<PadService: Send + 'static, Cmd: FromArgMatches + 'static> RuntimeConsole<P match option { None => {} Some(cmd) => { - (self.process_command)(Arc::clone(&self.service), cmd); + if !(self.process_command)(Arc::clone(&self.service), cmd) { + break; + } } } } + info!("[Console] Shutdown.") } }
\ No newline at end of file diff --git a/core/src/service/tcp_network/pad_server/implements.rs b/core/src/service/tcp_network/pad_server/implements.rs index c4d8cfc..d4288bf 100644 --- a/core/src/service/tcp_network/pad_server/implements.rs +++ b/core/src/service/tcp_network/pad_server/implements.rs @@ -5,7 +5,7 @@ use std::time::Duration; use log::{error, info, trace, warn}; use tokio::{join, select, spawn}; use tokio::net::{TcpListener, TcpStream}; -use tokio::sync::watch::{channel, Receiver, Sender}; +use tokio::sync::watch::{channel}; use tokio::time::sleep; use nogamepads::entry_mutex; use crate::data::game::runtime::structs::GameRuntime; |
