pub enum SMLMessageBuilder {
Empty,
IncompleteStartSignature(usize),
Recording(Vec<u8>),
Complete {
data: Vec<u8>,
rest: Vec<u8>,
},
}
Expand description
Builder to read SML messages byte-wise from a stream
use hackdose_sml_parser::transport::SMLMessageBuilder;
let mut builder = SMLMessageBuilder::Empty;
builder.record(&[0x1b, 0x1b, 0x1b, 0x1b, 0x01, 0x01, 0x01, 0x01]);
builder.record(&[0x63, 0x01, 0x02]);
builder.record(&[0x1b, 0x1b, 0x1b, 0x1b, 0x1a, 0x01,0x02, 0x03]);
assert_eq!(builder, SMLMessageBuilder::Complete{ data: vec![0x63, 0x01, 0x02], rest: vec![]});
Variants§
Implementations§
Trait Implementations§
Source§impl Debug for SMLMessageBuilder
impl Debug for SMLMessageBuilder
Source§impl PartialEq for SMLMessageBuilder
impl PartialEq for SMLMessageBuilder
impl Eq for SMLMessageBuilder
impl StructuralPartialEq for SMLMessageBuilder
Auto Trait Implementations§
impl Freeze for SMLMessageBuilder
impl RefUnwindSafe for SMLMessageBuilder
impl Send for SMLMessageBuilder
impl Sync for SMLMessageBuilder
impl Unpin for SMLMessageBuilder
impl UnwindSafe for SMLMessageBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more