use crate::actors::abstract_actor_ref::AbstractActorRef;
use crate::actors::abstract_actor_system::AbstractActorSystem;
use crate::actors::message::Message;
use crate::common::tsafe::TSafe;
pub struct Envelope {
pub message: Message,
pub sender: Option<Box<AbstractActorRef + Send>>,
pub receiver: Box<AbstractActorRef + Send>,
pub system: TSafe<AbstractActorSystem + Send>
}
impl Envelope {
pub fn new(message: Message, sender: Option<Box<AbstractActorRef + Send>>, receiver: Box<AbstractActorRef + Send>, system: TSafe<AbstractActorSystem + Send>) -> Envelope {
Envelope {
message,
sender,
receiver,
system
}
}
}