pub type MessageSender<T> = crate::tokio::sync::mpsc::Sender<T>;
pub type MessageReceiver<T> = crate::tokio::sync::mpsc::Receiver<T>;
pub fn message_channel<T>() -> (MessageSender<T>, MessageReceiver<T>) {
crate::tokio::sync::mpsc::channel(8)
}
pub type RouterSender<T> = crate::tokio::sync::mpsc::Sender<T>;
pub type RouterReceiver<T> = crate::tokio::sync::mpsc::Receiver<T>;
pub fn router_channel<T>() -> (RouterSender<T>, RouterReceiver<T>) {
crate::tokio::sync::mpsc::channel(64)
}
pub type SmallSender<T> = crate::tokio::sync::mpsc::Sender<T>;
pub type SmallReceiver<T> = crate::tokio::sync::mpsc::Receiver<T>;
pub fn small_channel<T>() -> (SmallSender<T>, SmallReceiver<T>) {
crate::tokio::sync::mpsc::channel(1)
}
pub type OneshotSender<T> = crate::tokio::sync::oneshot::Sender<T>;
pub type OneshotReceiver<T> = crate::tokio::sync::oneshot::Receiver<T>;
pub fn oneshot_channel<T>() -> (OneshotSender<T>, OneshotReceiver<T>) {
crate::tokio::sync::oneshot::channel()
}