blob: b59a55cdcf7c8a03205c18371e3221406f555cb2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
use crate::Result;
use async_tungstenite::tungstenite::Message;
pub trait WebSocketCodec:
WebSocketDecoder<DeItem = Self::Item>
+ WebSocketEncoder<EnItem = Self::Item>
+ Send
+ Sync
+ 'static
+ Unpin
{
type Item: Send + Sync;
}
pub trait WebSocketEncoder {
type EnItem;
fn encode(&self, src: &Self::EnItem) -> Result<Message>;
}
pub trait WebSocketDecoder {
type DeItem;
fn decode(&self, src: &Message) -> Result<Self::DeItem>;
}
|