1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
use std::net::SocketAddr;
use smol::channel::Sender;
/// Used to send packets to the Server Socket
#[derive(Clone)]
pub struct PacketSender {
channel_sender: Sender<(SocketAddr, Box<[u8]>)>,
}
impl PacketSender {
/// Creates a new PacketSender
pub fn new(channel_sender: Sender<(SocketAddr, Box<[u8]>)>) -> Self {
PacketSender { channel_sender }
}
/// Sends a packet to the Server Socket
pub fn send(&self, address: &SocketAddr, payload: &[u8]) {
self.channel_sender
.try_send((*address, payload.into()))
.unwrap(); //TODO: handle result..
}
}