forked from jmug/stoatchat
Implement websocket events.
See https://trello.com/c/xjQeLsd4/19-websocket-notification-portal-%F0%9F%94%94
This commit is contained in:
@@ -147,15 +147,25 @@ pub fn launch_server() {
|
||||
pub fn send_message(id: String, message: String) -> std::result::Result<(), ()> {
|
||||
unsafe {
|
||||
let map = CLIENTS.get().unwrap().read().unwrap();
|
||||
let arr = map.get(&id).unwrap();
|
||||
if map.contains_key(&id) {
|
||||
let arr = map.get(&id).unwrap();
|
||||
|
||||
Ok(for item in arr {
|
||||
match item.out.send(message.clone()) {
|
||||
Ok(_) => (),
|
||||
Err(_) => {
|
||||
for item in arr {
|
||||
if let Err(_) = item.out.send(message.clone()) {
|
||||
return Err(());
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
// ! TODO: WRITE THREADED QUEUE SYSTEM
|
||||
// ! FETCH RECIPIENTS HERE INSTEAD OF IN METHOD
|
||||
|
||||
pub fn queue_message(ids: Vec<String>, message: String) {
|
||||
for id in ids {
|
||||
send_message(id, message.clone()).expect("uhhhhhhhhhh can i get uhhhhhhhhhhhhhhhhhh mcdonald cheese burger with fries");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user