use super::{PatternSplitter, StreamSplitter};
use std::io;
static FRAME_HEADER: [u8; 8] = [0x4f, 0x4f, 0x4f, 0x4f, 0xff, 0xff, 0xff, 0xff];
pub struct FwhtFrameParser<S: io::Read>(PatternSplitter<S>);
impl<S: io::Read> FwhtFrameParser<S> {
pub fn new(stream: S) -> Option<Self> {
Some(Self(PatternSplitter::new(FRAME_HEADER.to_vec(), stream)?))
}
}
impl<S: io::Read> Iterator for FwhtFrameParser<S> {
type Item = Vec<u8>;
fn next(&mut self) -> Option<Self::Item> {
self.0.next()
}
}
impl<S: io::Read> StreamSplitter for FwhtFrameParser<S> {}