Envelope

Derive Macro Envelope 

Source
#[derive(Envelope)]
{
    // Attributes available to this derive:
    #[envelope]
}
Expand description

Generates a trait that can be used to send Envelopes of this message.

§Usage

#[derive(Message, Envelope)]
struct MyMessage {
    arg1: u32,
    arg2: u64
}
 
#[derive(Message, Envelope)]
#[envelope(CustomTraitName, custom_method_name)]
struct MyMessage {
    arg1: u32,
    arg2: u64
}

Which generates the a trait similar to the following:

trait MyMessageEnvelope {
    pub fn my_message(&self, arg1: u32, arg2: u64) -> Envelope<..> {
        ...
    }
}
 
impl<T, A> MyMessageEnvelope for T 
where 
    T: ActorRef<ActorType = A>,
    A: Accept<MyMessage>

This makes it possible to call my_message directly on an Address or Child.