optimizations and more deadlock fixes

This commit is contained in:
Toshit Chawda 2024-02-03 22:46:19 -08:00
parent be340c0f82
commit ac39d82a53
No known key found for this signature in database
GPG key ID: 91480ED99E2B3D9D
8 changed files with 253 additions and 49 deletions

View file

@ -168,8 +168,8 @@ impl<W: ws::WebSocketWrite + Send + 'static> ServerMuxInner<W> {
Close(inner_packet) => {
if let Some(stream) = self.stream_map.lock().await.get(&packet.stream_id) {
let _ = stream.unbounded_send(WsEvent::Close(inner_packet));
self.stream_map.lock().await.remove(&packet.stream_id);
}
self.stream_map.lock().await.remove(&packet.stream_id);
}
}
} else {
@ -276,8 +276,8 @@ impl<W: ws::WebSocketWrite + Send> ClientMuxInner<W> {
Close(inner_packet) => {
if let Some(stream) = self.stream_map.lock().await.get(&packet.stream_id) {
let _ = stream.unbounded_send(WsEvent::Close(inner_packet));
self.stream_map.lock().await.remove(&packet.stream_id);
}
self.stream_map.lock().await.remove(&packet.stream_id);
}
}
}