use acton_ern::prelude::*;
use derive_new::new;
use crate::common::Outbox;
#[derive(new, Clone, Debug)]
pub struct MessageAddress {
pub(crate) address: Outbox,
pub(crate) sender: Ern,
}
impl MessageAddress {
pub fn name(&self) -> &str {
self.sender.root.as_str()
}
}
impl Default for MessageAddress {
fn default() -> Self {
let (outbox, _) = tokio::sync::mpsc::channel(1);
Self::new(outbox, Ern::default())
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_return_address() {
let return_address = MessageAddress::default();
assert!(return_address.address.is_closed());
}
}