use std::sync::Arc; use mtp::codec::CommunicationValue; use crate::{app_state::AppState, rho::rho_connection::RhoConnection}; #[allow(dead_code)] pub struct RoutingService { state: Arc, } #[allow(dead_code)] impl RoutingService { pub fn new(state: Arc) -> Self { Self { state } } pub async fn route_to_user(&self, user_id: i64, message: CommunicationValue) { if let Some(connection) = self.state.rho.get_for_user(user_id).await { connection.message_to_iota(message).await; } } pub async fn connection_for_user(&self, user_id: i64) -> Option> { self.state.rho.get_for_user(user_id).await } }