summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index ae595ed..ddb1ed6 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -48,6 +48,7 @@ async fn main() {
api_key,
} => {
info!(name, host, "Found Prusa");
+ state.write().unwrap().insert(name.clone(), PrinterState::default());
tokio::spawn(async move {
match tokio::spawn(poll_prusa(name.clone(), host, api_key, state)).await {
Ok(()) => warn!(name, "Prusa polling task exited unexpectedly"),
@@ -62,6 +63,7 @@ async fn main() {
access_code,
} => {
info!(name, host, "Found Bambu");
+ state.write().unwrap().insert(name.clone(), PrinterState::default());
tokio::spawn(async move {
match tokio::spawn(poll_bambu(
name.clone(),
@@ -110,9 +112,7 @@ async fn fetch_prusa(
.json::<PrusaStatus>()
.await?;
let mut lock = state.write().unwrap();
- lock.entry(name.to_owned())
- .or_default()
- .update_from(&response);
+ lock.get_mut(name).unwrap().update_from(&response);
Ok(())
}
@@ -194,7 +194,7 @@ async fn poll_bambu(
match serde_json::from_slice::<BambuStatus>(&p.payload) {
Ok(msg) => {
let mut lock = state.write().unwrap();
- lock.entry(name.clone()).or_default().update_from(&msg);
+ lock.get_mut(name.as_str()).unwrap().update_from(&msg);
debug!(name, "Updated state");
}
Err(e) => error!(error = %e, "Failed to deserialize BambuStatus"),