refactor: param reduction, AtomicBool to Relaxed

This commit is contained in:
Jack Wills
2023-01-14 17:59:33 +00:00
parent 8cd199db49
commit 0350293de3
3 changed files with 11 additions and 14 deletions
+3 -3
View File
@@ -408,7 +408,7 @@ impl DockerData {
.values()
.into_iter()
.for_each(tokio::task::JoinHandle::abort);
self.is_running.store(false, Ordering::SeqCst);
self.is_running.store(false, Ordering::Relaxed);
}
}
}
@@ -417,7 +417,7 @@ impl DockerData {
/// Initialise self, and start the message receiving loop
pub async fn init(
app_data: Arc<Mutex<AppData>>,
docker: Arc<Docker>,
docker: Docker,
gui_state: Arc<Mutex<GuiState>>,
receiver: Receiver<DockerMessage>,
is_running: Arc<AtomicBool>,
@@ -427,7 +427,7 @@ impl DockerData {
let mut inner = Self {
app_data,
args,
docker,
docker: Arc::new(docker),
gui_state,
initialised: false,
receiver,
+2 -2
View File
@@ -73,7 +73,7 @@ impl InputHandler {
}
}
}
if !self.is_running.load(Ordering::SeqCst) {
if !self.is_running.load(Ordering::Relaxed) {
break;
}
}
@@ -134,7 +134,7 @@ impl InputHandler {
.lock()
.status_contains(&[Status::Error, Status::Init]);
if error_init || self.docker_sender.send(DockerMessage::Quit).await.is_err() {
self.is_running.store(false, Ordering::SeqCst);
self.is_running.store(false, Ordering::Relaxed);
}
}
+6 -9
View File
@@ -9,10 +9,7 @@ use std::{
io,
sync::{atomic::Ordering, Arc},
};
use std::{
sync::atomic::AtomicBool,
time::{Duration, Instant},
};
use std::{sync::atomic::AtomicBool, time::Instant};
use tokio::sync::mpsc::Sender;
use tui::{
backend::{Backend, CrosstermBackend},
@@ -38,7 +35,7 @@ pub async fn create_ui(
is_running: Arc<AtomicBool>,
gui_state: Arc<Mutex<GuiState>>,
docker_sx: Sender<DockerMessage>,
update_duration: Duration,
// update_duration: Duration,
) -> Result<()> {
enable_raw_mode()?;
let mut stdout = io::stdout();
@@ -53,7 +50,6 @@ pub async fn create_ui(
is_running,
gui_state,
docker_sx,
update_duration,
)
.await;
terminal.clear()?;
@@ -80,15 +76,16 @@ async fn run_app<B: Backend + Send>(
is_running: Arc<AtomicBool>,
gui_state: Arc<Mutex<GuiState>>,
docker_sx: Sender<DockerMessage>,
update_duration: Duration,
) -> Result<(), AppError> {
let update_duration =
std::time::Duration::from_millis(u64::from(app_data.lock().args.docker_interval));
let input_poll_rate = std::time::Duration::from_millis(75);
let status_dockerconnect = gui_state.lock().status_contains(&[Status::DockerConnect]);
if status_dockerconnect {
let mut seconds = 5;
loop {
if seconds < 1 {
is_running.store(false, Ordering::SeqCst);
is_running.store(false, Ordering::Relaxed);
break;
}
if terminal
@@ -132,7 +129,7 @@ async fn run_app<B: Backend + Send>(
now = Instant::now();
}
if !is_running.load(Ordering::SeqCst) {
if !is_running.load(Ordering::Relaxed) {
break;
}
}