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<SMLMessageBuilder> for SMLMessageBuilder
impl PartialEq<SMLMessageBuilder> for SMLMessageBuilder
source§fn eq(&self, other: &SMLMessageBuilder) -> bool
fn eq(&self, other: &SMLMessageBuilder) -> bool
This method tests for
self and other values to be equal, and is used
by ==.