refactor: ♻️ message send and receive via websocket
This commit is contained in:
parent
ff5742562e
commit
ab51292439
1 changed files with 57 additions and 53 deletions
|
@ -104,11 +104,6 @@ async fn websocket_handler(websocket: UpgradeFut) {
|
||||||
};
|
};
|
||||||
*user.write().await = new_user.user.to_owned();
|
*user.write().await = new_user.user.to_owned();
|
||||||
ONLINE_USERS.write().await.push_back(new_user);
|
ONLINE_USERS.write().await.push_back(new_user);
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let user_for_sender = user.clone();
|
let user_for_sender = user.clone();
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
|
@ -154,15 +149,24 @@ async fn websocket_handler(websocket: UpgradeFut) {
|
||||||
{
|
{
|
||||||
if let OpCode::Text = received_frame.opcode {
|
if let OpCode::Text = received_frame.opcode {
|
||||||
let signal =
|
let signal =
|
||||||
serde_json::from_slice::<Signal>(&received_frame.payload.to_vec()).unwrap();
|
serde_json::from_slice::<Signal>(&received_frame.payload.to_vec())
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
if signal.get_signal_type() != SignalType::Auth {
|
if signal.get_signal_type() != SignalType::Auth {
|
||||||
if let Err(err_val) = message_sender.send(signal) {
|
if let Err(err_val) = message_sender.send(signal) {
|
||||||
eprintln!("Error: WebSocket Channel Send | {}", err_val);
|
eprintln!("Error: WebSocket Channel Send | {}", err_val);
|
||||||
let _ = remove_user_from_online_users(&user.read().await.to_owned()).await;
|
let _ =
|
||||||
|
remove_user_from_online_users(&user.read().await.to_owned())
|
||||||
|
.await;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
let _ =
|
||||||
|
remove_user_from_online_users(&user.read().await.to_owned()).await;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let _ = remove_user_from_online_users(&user.read().await.to_owned()).await;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue