aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/Cargo.toml1
-rw-r--r--core/examples/connect.rs5
-rw-r--r--core/src/data/controller/runtime/implements.rs1
-rw-r--r--core/src/data/game/runtime/implements.rs4
-rw-r--r--core/src/service/cli_addition/runtime_consoles.rs10
-rw-r--r--core/src/service/tcp_network/pad_server/implements.rs2
6 files changed, 14 insertions, 9 deletions
diff --git a/core/Cargo.toml b/core/Cargo.toml
index f943cb7..6758217 100644
--- a/core/Cargo.toml
+++ b/core/Cargo.toml
@@ -13,7 +13,6 @@ serde = { version = "1.0.219", features = ["derive"] }
clap = { version = "4.5.38", features = ["derive"] }
sha1 = "0.10.6"
log = "0.4.27"
-prettytable-rs = "0.10.0"
shell-words = "1.1.0"
[lib]
diff --git a/core/examples/connect.rs b/core/examples/connect.rs
index c367787..1fd9bca 100644
--- a/core/examples/connect.rs
+++ b/core/examples/connect.rs
@@ -4,6 +4,7 @@ use nogamepads::logger_utils::logger_build;
use nogamepads_core::data::controller::structs::ControllerData;
use nogamepads_core::data::player::structs::Player;
use nogamepads_core::service::tcp_network::pad_client::structs::PadClientNetwork;
+use nogamepads_core::service::tcp_network::utils::tokio_utils::build_tokio_runtime;
fn main () {
logger_build(Trace);
@@ -21,5 +22,7 @@ fn main () {
let runtime = controller.runtime();
let client = PadClientNetwork::build(Arc::clone(&runtime));
- client.connect();
+ // client.connect();
+ // or
+ build_tokio_runtime("Tokio Runtime".to_string()).block_on(client.build_entry())
} \ No newline at end of file
diff --git a/core/src/data/controller/runtime/implements.rs b/core/src/data/controller/runtime/implements.rs
index 840ea2c..1f2734a 100644
--- a/core/src/data/controller/runtime/implements.rs
+++ b/core/src/data/controller/runtime/implements.rs
@@ -4,7 +4,6 @@ use log::trace;
use crate::data::controller::runtime::structs::ControllerRuntime;
use crate::data::message::enums::{ControlMessage, GameMessage};
use crate::data::message::traits::MessageManager;
-use crate::data::player::structs::Account;
use crate::service::service_types::ServiceType;
/// Message manager for controller-side runtime
diff --git a/core/src/data/game/runtime/implements.rs b/core/src/data/game/runtime/implements.rs
index 43a7dee..22b6a5d 100644
--- a/core/src/data/game/runtime/implements.rs
+++ b/core/src/data/game/runtime/implements.rs
@@ -198,10 +198,10 @@ impl GameRuntimeData {
let key = (service_type, player.account.clone());
let get_received = self.received.get_mut(&key);
let get_send = self.send.get_mut(&key);
- if let Some(mut list) = get_received {
+ if let Some(list) = get_received {
list.clear();
}
- if let Some(mut list) = get_send {
+ if let Some(list) = get_send {
list.clear();
}
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;