diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 8 |
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"), |
