verify_publish/
verify-publish.rs

1extern crate mosquitto_client as mosq;
2use mosq::Mosquitto;
3
4use std::error::Error;
5
6fn go() -> Result<(),Box<Error>> {
7    let m = Mosquitto::new("test");
8
9    m.connect("localhost",1883)?;
10
11    // publish and get a message id
12    let our_mid = m.publish("bonzo/dog","hello dolly".as_bytes(), 2, false)?;
13
14    // and wait for confirmation for that message id
15    let mut mc = m.callbacks(());
16    mc.on_publish(|_,mid| {
17        if mid == our_mid {
18            m.disconnect().unwrap();
19        }
20    });
21
22    // wait forever until explicit disconnect
23    m.loop_until_disconnect(-1)?;
24    Ok(())
25}
26
27fn main() {
28    go().expect("error: ");
29}