aquatic_ws: log error messages on channel send failure

This commit is contained in:
Joakim Frostegård 2020-05-23 20:41:20 +02:00
parent ba060c539b
commit e3b7af2c00
2 changed files with 14 additions and 4 deletions

View file

@ -4,6 +4,7 @@ use std::sync::Arc;
use flume::{Sender, Receiver};
use hashbrown::HashMap;
use indexmap::IndexMap;
use log::error;
use mio::Token;
use parking_lot::Mutex;
@ -12,7 +13,7 @@ pub use aquatic_common::ValidUntil;
use crate::protocol::*;
#[derive(Clone, Copy)]
#[derive(Clone, Copy, Debug)]
pub struct ConnectionMeta {
/// Index of socket worker responsible for this connection. Required for
/// sending back response through correct channel to correct worker.
@ -124,7 +125,9 @@ impl OutMessageSender {
meta: ConnectionMeta,
message: OutMessage
){
self.0[meta.worker_index].send((meta, message));
if let Err(err) = self.0[meta.worker_index].send((meta, message)){
error!("OutMessageSender: couldn't send message: {:?}", err);
}
}
}

View file

@ -2,7 +2,7 @@ use std::time::Duration;
use std::io::ErrorKind;
use hashbrown::HashMap;
use log::{info, trace};
use log::{info, trace, error};
use native_tls::TlsAcceptor;
use mio::{Events, Poll, Interest, Token};
use mio::net::TcpListener;
@ -192,7 +192,14 @@ pub fn run_handshakes_and_read_messages(
trace!("read message");
in_message_sender.send((meta, in_message));
if let Err(err) = in_message_sender
.send((meta, in_message))
{
error!(
"InMessageSender: couldn't send message: {:?}",
err
);
}
}
},
Err(Io(err)) if err.kind() == ErrorKind::WouldBlock => {