<img width=300 src="https://codeberg.org/Stack-Syndicate/postvan/raw/assets/logo.svg">
[`crates.io`](https://crates.io/crates/postvan) [`docs.rs`](https://docs.rs/postvan) [`donate`](https://ko-fi.com/stacksyndicate)
## Usage
### Quickstart
This is the fastest way to get this crate up and running in your project.
```rust
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());
}
```