wip integration into websocket handler

This commit is contained in:
Thilo Behnke
2022-06-16 21:31:19 +02:00
parent f89ed34be0
commit b10b2e8e7a
2 changed files with 9 additions and 3 deletions

View File

@@ -7,7 +7,7 @@ use crate::session::Session;
#[derive(Debug, Deserialize, Serialize)]
pub struct SessionEventListDTO<'a> {
pub session_id: &'a str,
pub events: Vec<PongEvent<'a>>,
pub events: Vec<PongEventWrapper<'a>>,
}
#[derive(Debug, Serialize, Deserialize)]

View File

@@ -9,7 +9,7 @@ use hyper_tungstenite::tungstenite::{Error, Message};
use serde_json::json;
use tokio::time::sleep;
use serde::{Serialize, Deserialize};
use crate::event::{SessionClosedDto, SessionEventListDTO};
use crate::event::{SessionEventListDTO};
use crate::session::Session;
use crate::session_manager::{SessionManager};
@@ -79,7 +79,13 @@ impl WebsocketHandler for DefaultWebsocketHandler {
let mut any_error = false;
let event_count = event_wrapper.events.len();
for event in event_wrapper.events {
let write_res = event_writer.write_to_session(&event.topic, &event.msg);
let serialized = serde_json::to_string(&event);
if let Err(e) = serialized {
eprintln!("Failed to serialize event {:?}: {}", event, e);
any_error = true;
continue;
}
let write_res = event_writer.write_to_session(&event.topic, &serialized.unwrap());
if let Err(e) = write_res {
any_error = true;
eprintln!("Failed to write event {:?}: {}", event, e);