diff options
author | Bernd Schoolmann <mail@quexten.com> | 2023-04-17 03:19:40 +0200 |
---|---|---|
committer | Bernd Schoolmann <mail@quexten.com> | 2023-04-17 03:19:40 +0200 |
commit | 7c77e2b47cee8bcda3bbe87af8979b6880356acd (patch) | |
tree | fc81598f2f2a62f25d5fec99484b33907214ba15 /src | |
parent | e49ca91ea1607a39257fc28b58598482eff4338a (diff) | |
download | rbw-7c77e2b47cee8bcda3bbe87af8979b6880356acd.tar.gz rbw-7c77e2b47cee8bcda3bbe87af8979b6880356acd.zip |
Improve websocket disconnect handling
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/rbw-agent/notifications.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/bin/rbw-agent/notifications.rs b/src/bin/rbw-agent/notifications.rs index ab24c42..334466f 100644 --- a/src/bin/rbw-agent/notifications.rs +++ b/src/bin/rbw-agent/notifications.rs @@ -82,7 +82,7 @@ impl NotificationsHandler { } pub fn is_connected(&self) -> bool { - self.write.is_some() + self.write.is_some() && self.read_handle.is_some() && !self.read_handle.as_ref().unwrap().is_finished() } pub async fn disconnect(&mut self) -> Result<(), Box<dyn std::error::Error>> { @@ -92,6 +92,8 @@ impl NotificationsHandler { write.close().await?; self.read_handle.take().unwrap().await?; } + self.write = None; + self.read_handle = None; Ok(()) } |