init
This commit is contained in:
@@ -6,6 +6,7 @@ use crate::routes::category::mapper::category_model_to_category_response;
|
||||
use crate::routes::channel::mapper::channel_model_to_channel_response;
|
||||
use crate::routes::message::mapper::message_model_to_message_response_with_server_id;
|
||||
use crate::routes::server::mapper::server_model_to_server_response;
|
||||
use crate::services::Services;
|
||||
use axum::extract::ws::Message;
|
||||
use event_bus::EventBus;
|
||||
use events::GatewayEvent;
|
||||
@@ -15,7 +16,6 @@ use std::sync::Arc;
|
||||
use tokio::sync::mpsc;
|
||||
use tokio::task::JoinHandle;
|
||||
use uuid::Uuid;
|
||||
use crate::services::Services;
|
||||
|
||||
pub mod events;
|
||||
pub mod handlers;
|
||||
@@ -44,7 +44,10 @@ pub struct GatewayClient {
|
||||
|
||||
impl GatewayManager {
|
||||
pub fn new(services: Arc<Services>) -> Self {
|
||||
Self { clients: RwLock::new(HashMap::new()), services }
|
||||
Self {
|
||||
clients: RwLock::new(HashMap::new()),
|
||||
services,
|
||||
}
|
||||
}
|
||||
/// Démarre les routeurs centraux des événements de messages.
|
||||
pub fn start(self: &Arc<Self>, event_bus: Arc<EventBus>) {
|
||||
@@ -95,7 +98,6 @@ impl GatewayManager {
|
||||
pub(crate) fn remove_client(&self, gateway_client: &GatewayClient) {
|
||||
let key = gateway_client.key();
|
||||
self.clients.write().remove(&key);
|
||||
|
||||
}
|
||||
|
||||
fn broadcast_message<T: serde::Serialize>(
|
||||
@@ -113,7 +115,10 @@ impl GatewayManager {
|
||||
return;
|
||||
};
|
||||
|
||||
let users = self.services.realtime_registry.users_for_channel(channel_id);
|
||||
let users = self
|
||||
.services
|
||||
.realtime_registry
|
||||
.users_for_channel(channel_id);
|
||||
let clients = self.clients.read();
|
||||
for (key, client) in clients.iter() {
|
||||
if users.contains(&key.user_id) {
|
||||
|
||||
Reference in New Issue
Block a user