postvan 0.3.4

A minimalistic implementation of pub/sub messaging
Documentation
use postvan::{Letterbox, Postoffice};

#[derive(Debug, Hash, Eq, PartialEq)]
enum Topic {
    Engine,
}
impl postvan::Topic for Topic {}

#[derive(Clone, Debug)]
enum Message {
    Ok(bool),
}
impl postvan::Message for Message {
    type Topic = Topic;
    fn topics(&self) -> &'static [Self::Topic] {
        &[Topic::Engine]
    }
}

struct MyStruct {
    pub lb: Letterbox<Message>,
}

fn main() {
    let mut post_office = Postoffice::new();
    let mut my_object = MyStruct {
        lb: Letterbox::new(),
    };
    post_office.register(&mut my_object.lb);
    let _ = my_object.lb.subscribe(Topic::Engine);
    let _ = my_object.lb.post(Message::Ok(true));
    post_office.tick();

    println!("{:?}", my_object.lb.recv_all());
}