1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use std::error::Error;
use crate::Packet;
use futures_channel;
use futures_util::SinkExt;
#[derive(Debug)]
pub struct MessageSender {
internal: futures_channel::mpsc::Sender<Packet>,
}
impl MessageSender {
pub fn new(sender: futures_channel::mpsc::Sender<Packet>) -> MessageSender {
MessageSender { internal: sender }
}
pub async fn send(&mut self, packet: Packet) -> Result<(), Box<dyn Error + Send>> {
match self.internal.send(packet).await {
Ok(content) => Ok(content),
Err(error) => {
return Err(Box::new(error));
}
}
}
}