node: Don't panic if peer disconnected

This commit is contained in:
Alexis Sellier 2023-04-12 16:51:57 +02:00
parent 8c92282578
commit 17651e259d
No known key found for this signature in database
1 changed files with 5 additions and 4 deletions

View File

@ -395,13 +395,14 @@ where
}
fn flush(&mut self, remote: NodeId, stream: StreamId) {
let (fd, peer) = self
let Some((fd, peer)) = self
.peers
.iter()
.find(|(_, peer)| peer.id() == Some(&remote))
.map(|(fd, peer)| (*fd, peer))
.unwrap_or_else(|| panic!("Peer {remote} was expected to be known to the transport"));
.map(|(fd, peer)| (*fd, peer)) else {
log::warn!(target: "wire", "Peer {remote} is not known; ignoring flush");
return;
};
let Peer::Connected { streams, link, .. } = peer else {
log::warn!(target: "wire", "Peer {remote} is not connected; ignoring flush");
return;