feat: add reply messages
This commit is contained in:
@@ -233,6 +233,7 @@ async fn inner_handle_connection(
|
|||||||
tx.unbounded_send(Message::Close(None)).ok();
|
tx.unbounded_send(Message::Close(None)).ok();
|
||||||
}
|
}
|
||||||
client_map.insert(msg_client_id.clone(), addr);
|
client_map.insert(msg_client_id.clone(), addr);
|
||||||
|
RoomMessageDown::create_success_reply(format!("Client replaced {:?} -> {:?}", peer_addr, addr)).send(&tx);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
None => {
|
None => {
|
||||||
@@ -249,6 +250,7 @@ async fn inner_handle_connection(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
RoomMessageDown::create_success_reply(format!("Client entered: {:?}", addr)).send(&tx);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -257,6 +259,7 @@ async fn inner_handle_connection(
|
|||||||
let mut client_map = BTreeMap::new();
|
let mut client_map = BTreeMap::new();
|
||||||
client_map.insert(msg_client_id.clone(), addr);
|
client_map.insert(msg_client_id.clone(), addr);
|
||||||
room_map.insert(msg_room_id.clone(), client_map);
|
room_map.insert(msg_room_id.clone(), client_map);
|
||||||
|
RoomMessageDown::create_success_reply(format!("Client create room: {:?}", addr)).send(&tx);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
room_id = Some(msg_room_id);
|
room_id = Some(msg_room_id);
|
||||||
@@ -338,13 +341,16 @@ async fn inner_handle_connection(
|
|||||||
};
|
};
|
||||||
if let Ok(mm) = serde_json::to_string(&m) {
|
if let Ok(mm) = serde_json::to_string(&m) {
|
||||||
if let Some(client_map) = client_map {
|
if let Some(client_map) = client_map {
|
||||||
|
let mut sent_messages = 0;
|
||||||
for (peer_client_id, peer_client_addr) in client_map {
|
for (peer_client_id, peer_client_addr) in client_map {
|
||||||
if peer_client_id != client_id {
|
if peer_client_id != client_id {
|
||||||
if let Some(peer_tx) = peer_map.lock().unwrap().get(peer_client_addr) {
|
if let Some(peer_tx) = peer_map.lock().unwrap().get(peer_client_addr) {
|
||||||
|
sent_messages += 1;
|
||||||
peer_tx.unbounded_send(Message::Text(mm.clone())).ok();
|
peer_tx.unbounded_send(Message::Text(mm.clone())).ok();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
RoomMessageDown::create_success_reply(format!("Send message to {} peers", sent_messages)).send(&tx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -372,6 +378,7 @@ async fn inner_handle_connection(
|
|||||||
if let Some(peer_tx) = peer_map.lock().unwrap().get(peer_client_addr) {
|
if let Some(peer_tx) = peer_map.lock().unwrap().get(peer_client_addr) {
|
||||||
peer_tx.unbounded_send(Message::Text(mm.clone())).ok();
|
peer_tx.unbounded_send(Message::Text(mm.clone())).ok();
|
||||||
}
|
}
|
||||||
|
RoomMessageDown::create_success_reply(format!("Message sent to: {}", peer_id)).send(&tx);
|
||||||
} else {
|
} else {
|
||||||
RoomMessageDown::create_error_reply(format!("Peer not found: {}", peer_id)).send(&tx);
|
RoomMessageDown::create_error_reply(format!("Peer not found: {}", peer_id)).send(&tx);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user