1use crate::prelude::*;
2
3pub struct WsClient {
8 stream: WebSocketStream<MaybeTlsStream<TcpStream>>,
9}
10
11impl WsClient {
12 pub fn new(stream: WebSocketStream<MaybeTlsStream<TcpStream>>) -> Self {
14 Self { stream }
15 }
16
17 pub fn stream(&mut self) -> &mut WebSocketStream<MaybeTlsStream<TcpStream>> {
19 &mut self.stream
20 }
21
22 pub async fn disconnect(&mut self) -> Result<(), LimitlessError> {
24 self.stream
25 .close(None)
26 .await
27 .map_err(|e| LimitlessError::Base(format!("Error closing WebSocket: {}", e)))?;
28 Ok(())
29 }
30}