use crate::error::StarError; use crate::parser::StarParser; use crate::types::StarItem; use bytes::{Buf, BytesMut}; use tokio_util::codec::Decoder; impl Decoder for StarParser { type Item = StarItem; type Error = StarError; fn decode(&mut self, src: &mut BytesMut) -> Result, Self::Error> { let (consumed, item) = self.parse(src)?; src.advance(consumed); Ok(item) } }