cross_ws/websocket/sender/
mod.rs1
2use super::backend;
3use crate::{Message, Result, traits::WebSocketSenderTrait};
4
5#[derive(Debug)]
7pub struct WebSocketSender<Backend: WebSocketSenderTrait = backend::WebSocketSender> {
8 backend: Backend,
9}
10
11impl<Backend: WebSocketSenderTrait> WebSocketSender<Backend> {
12 pub async fn send(&mut self, message: Message) -> Result<()> {
14 self.backend.send(message).await
15 }
16
17 pub async fn close(&mut self, message: Option<(u16, String)>) -> Result<()> {
19 self.backend.close(message).await
20 }
21}
22
23impl<Backend: WebSocketSenderTrait> From<Backend> for WebSocketSender<Backend> {
24 fn from(backend: Backend) -> Self {
25 WebSocketSender { backend }
26 }
27}