Function sbp::iter_messages

source ·
pub fn iter_messages<R: Read>(
    input: R
) -> impl Iterator<Item = Result<Sbp, Error>>
Expand description

Deserialize the IO stream into an iterator of messages.

§Example

use std::io::Cursor;

use sbp::messages::logging::MsgLog;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut data = Vec::new();
    sbp::to_writer(
        &mut data,
        &MsgLog {
            sender_id: Some(1),
            level: 1,
            text: String::from("hello").into(),
        },
    )?;
    sbp::to_writer(
        &mut data,
        &MsgLog {
            sender_id: Some(1),
            level: 1,
            text: String::from("world").into(),
        },
    )?;
    let messages = sbp::iter_messages(Cursor::new(data));
    assert_eq!(messages.count(), 2);
    Ok(())
}