aboutsummaryrefslogtreecommitdiff
path: root/src/client/mod.rs
diff options
context:
space:
mode:
authorAustin Hellyer <[email protected]>2017-02-07 07:52:20 -0800
committerAustin Hellyer <[email protected]>2017-02-07 07:52:20 -0800
commit04cfaa9a69dc1638e9cd1904a9b8e94c1a97f832 (patch)
tree1a3d6576e0876740c1ac546e0e14525124961e83 /src/client/mod.rs
parentFix a clippy lint (diff)
downloadserenity-04cfaa9a69dc1638e9cd1904a9b8e94c1a97f832.tar.xz
serenity-04cfaa9a69dc1638e9cd1904a9b8e94c1a97f832.zip
Resume when restarting WS sender/receiver
Diffstat (limited to 'src/client/mod.rs')
-rw-r--r--src/client/mod.rs18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/client/mod.rs b/src/client/mod.rs
index 073ffb5..5ef770a 100644
--- a/src/client/mod.rs
+++ b/src/client/mod.rs
@@ -1308,12 +1308,20 @@ fn handle_shard(info: &mut MonitorInfo) {
Err(Error::WebSocket(WebSocketError::NoDataAvailable)) => {
debug!("Attempting to shutdown receiver/sender");
- match info.receiver.shutdown_all() {
- Ok(_) => debug!("Successfully shutdown receiver/sender"),
- Err(why) => warn!("Err shutting down receiver/sender: {:?}", why),
- }
+ match info.shard.lock().unwrap().resume(&mut info.receiver) {
+ Ok((_, receiver)) => {
+ debug!("Successfully resumed shard");
+
+ info.receiver = receiver;
- return;
+ continue;
+ },
+ Err(why) => {
+ warn!("Err resuming shard: {:?}", why);
+
+ return;
+ },
+ }
},
other => other,
};