Refactor the utils (remove them)
This commit is contained in:
parent
45409168d6
commit
e3f3f85ef5
4 changed files with 11 additions and 23 deletions
|
@ -20,7 +20,7 @@ pub async fn load_state_for_relay(relay: &mut Relay, app_state: &Addr<AppState>)
|
|||
Ok(())
|
||||
}
|
||||
|
||||
pub async fn load_state_for_relays(relays: &mut Vec<Relay>, app_state: &Addr<AppState>) -> Result<(), EmgauwaError>{
|
||||
pub async fn load_state_for_relays(relays: &mut [Relay], app_state: &Addr<AppState>) -> Result<(), EmgauwaError>{
|
||||
let stated_relays = get_stated_relays(app_state).await?;
|
||||
relays.iter_mut().for_each(|r| r.find_and_apply_state(&stated_relays));
|
||||
Ok(())
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
mod handlers;
|
||||
|
||||
use std::time::Instant;
|
||||
|
||||
use actix::{Actor, ActorContext, Addr, AsyncContext, Handler, StreamHandler};
|
||||
use actix_web_actors::ws;
|
||||
use actix_web_actors::ws::ProtocolError;
|
||||
use futures::executor::block_on;
|
||||
use sqlx::{Pool, Sqlite};
|
||||
use sqlx::pool::PoolConnection;
|
||||
use ws::Message;
|
||||
|
||||
use emgauwa_common::constants::{HEARTBEAT_INTERVAL, HEARTBEAT_TIMEOUT};
|
||||
use emgauwa_common::errors::EmgauwaError;
|
||||
use emgauwa_common::types::{ControllerWsAction, EmgauwaUid};
|
||||
use futures::executor::block_on;
|
||||
use sqlx::pool::PoolConnection;
|
||||
use sqlx::{Pool, Sqlite};
|
||||
use ws::Message;
|
||||
|
||||
use crate::app_state::{AppState, DisconnectController};
|
||||
use crate::utils::flatten_result;
|
||||
|
||||
mod handlers;
|
||||
|
||||
pub struct ControllersWs {
|
||||
pub pool: Pool<Sqlite>,
|
||||
|
@ -32,13 +32,9 @@ impl Actor for ControllersWs {
|
|||
|
||||
fn stopped(&mut self, _ctx: &mut Self::Context) {
|
||||
if let Some(controller_uid) = &self.controller_uid {
|
||||
let flat_res = flatten_result(
|
||||
block_on(self.app_state.send(DisconnectController {
|
||||
if let Err(err) = block_on(self.app_state.send(DisconnectController {
|
||||
controller_uid: controller_uid.clone(),
|
||||
}))
|
||||
.map_err(EmgauwaError::from),
|
||||
);
|
||||
if let Err(err) = flat_res {
|
||||
})).unwrap_or_else(|err| Err(EmgauwaError::from(err))) {
|
||||
log::error!("Error disconnecting controller: {:?}", err);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,6 @@ use crate::app_state::AppState;
|
|||
mod app_state;
|
||||
mod handlers;
|
||||
mod settings;
|
||||
mod utils;
|
||||
|
||||
#[actix_web::main]
|
||||
async fn main() -> Result<(), std::io::Error> {
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
pub fn flatten_result<T, E>(res: Result<Result<T, E>, E>) -> Result<T, E> {
|
||||
match res {
|
||||
Ok(Ok(t)) => Ok(t),
|
||||
Ok(Err(e)) => Err(e),
|
||||
Err(e) => Err(e),
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue