fix(phantun) better UDP error handling

When UDP send fails, print a proper error message and close the
connection, instead of `panic`ing.
This commit is contained in:
Datong Sun
2021-09-27 09:49:50 -07:00
parent e3e50f8a9e
commit 5a6ebf52ea
2 changed files with 10 additions and 3 deletions

View File

@@ -139,7 +139,11 @@ async fn main() {
match res {
Some(size) => {
if size > 0 {
udp_sock.send(&buf_tcp[..size]).await.unwrap();
if let Err(e) = udp_sock.send(&buf_tcp[..size]).await {
connections.write().await.remove(&addr);
error!("Unable to send UDP packet to {}: {}, closing connection", e, addr);
return;
}
}
},
None => {