1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mod raw;
mod rzcobs;

pub use raw::Raw;
pub use rzcobs::Rzcobs;

use crate::{DecodeError, Frame};

pub trait StreamDecoder {
    /// Push received data to the decoder. The decoder stores it
    /// internally, and makes decoded frames available through [`decode`](StreamDecoder::decode).
    fn received(&mut self, data: &[u8]);

    fn decode(&mut self) -> Result<Frame<'_>, DecodeError>;
}