cross_ws/websocket/receiver/
mod.rs

1//! WebSocket receiver module.
2
3use crate::{Message, Result, traits::WebSocketReceiverTrait};
4use super::backend;
5
6impl<Backend: WebSocketReceiverTrait> From<Backend> for WebSocketReceiver<Backend> {
7    fn from(backend: Backend) -> Self {
8        WebSocketReceiver { backend }
9    }
10}
11
12/// Stream-based WebSocket receiver.
13#[derive(Debug)]
14pub struct WebSocketReceiver<Backend: WebSocketReceiverTrait = backend::WebSocketReceiver> {
15    backend: Backend,
16}
17
18impl<Backend: WebSocketReceiverTrait> WebSocketReceiver<Backend> {
19    /// Receives a message.
20    pub async fn next(&mut self) -> Result<Option<Message>> {
21        self.backend.next().await
22    }
23}