aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAustin Hellyer <[email protected]>2017-02-01 14:00:59 -0800
committerAustin Hellyer <[email protected]>2017-02-01 14:00:59 -0800
commitd72f9cf0e3ab1095b489eeddafa8e614fa462b65 (patch)
treec5b7e2140511d0ae3ae8cd8e84731403fdcb664d /src
parentDon't clone the context (diff)
downloadserenity-d72f9cf0e3ab1095b489eeddafa8e614fa462b65.tar.xz
serenity-d72f9cf0e3ab1095b489eeddafa8e614fa462b65.zip
Log only unexpected keepalive errors
Diffstat (limited to 'src')
-rw-r--r--src/client/gateway/prep.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/client/gateway/prep.rs b/src/client/gateway/prep.rs
index 10f00ce..15716df 100644
--- a/src/client/gateway/prep.rs
+++ b/src/client/gateway/prep.rs
@@ -13,6 +13,7 @@ use super::{GatewayError, GatewayStatus};
use time::{self, Duration};
use websocket::client::request::Url as RequestUrl;
use websocket::client::{Receiver, Sender};
+use websocket::result::WebSocketError as WsError;
use websocket::stream::WebSocketStream;
use ::constants::{self, LARGE_THRESHOLD, OpCode};
use ::error::{Error, Result};
@@ -138,7 +139,14 @@ pub fn keepalive(interval: u64,
*heartbeat_sent.lock().unwrap() = now;
},
Err(why) => {
- warn!("Error sending keepalive: {:?}", why);
+ match why {
+ Error::WebSocket(WsError::IoError(err)) => {
+ if err.raw_os_error() != Some(32) {
+ debug!("Err w/ keepalive: {:?}", err);
+ }
+ },
+ other => warn!("Other err w/ keepalive: {:?}", other),
+ }
if last_successful {
debug!("If next keepalive fails, closing");
@@ -156,6 +164,11 @@ pub fn keepalive(interval: u64,
match sender.shutdown_all() {
Ok(_) => debug!("Successfully shutdown sender/receiver"),
- Err(why) => warn!("Failed to shutdown sender/receiver: {:?}", why),
+ Err(why) => {
+ // This can fail if the receiver already shutdown.
+ if why.raw_os_error() != Some(107) {
+ warn!("Failed to shutdown sender/receiver: {:?}", why);
+ }
+ },
}
}