use tokio::sync::mpsc::Sender;
use super::WindowSizeRef;
use crate::ChannelMsg;
#[derive(Debug)]
pub struct ChannelRef {
pub(super) sender: Sender<ChannelMsg>,
pub(super) window_size: WindowSizeRef,
}
impl ChannelRef {
pub fn new(sender: Sender<ChannelMsg>) -> Self {
Self {
sender,
window_size: WindowSizeRef::new(0),
}
}
pub(crate) fn window_size(&self) -> &WindowSizeRef {
&self.window_size
}
}
impl std::ops::Deref for ChannelRef {
type Target = Sender<ChannelMsg>;
fn deref(&self) -> &Self::Target {
&self.sender
}
}