postvan 0.2.0

A minimalistic implementation of pub/sub messaging
Documentation

crates.io docs.rs donate

Usage

Quickstart

This is the fastest way to get this crate up and running in your project.

use postvan::{Letterbox, Message, Postoffice};

#[derive(Clone, Debug)]
enum MyMessage {
    Ok,
}
impl Message for MyMessage {}

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

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(MyMessage::Ok);
    let _ = my_object.lb.post(MyMessage::Ok);
    post_office.tick();

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