pub struct TlvBuffer {
pub data: Vec<u8>,
}
Expand description
Buffer to encode matter tlv. Create buffer, write elements then use data member which contains encoded tlv. Example how to commission device using certificates pre-created in pem directory:
let mut tlv = tlv::TlvBuffer::new();
tlv.write_struct(1)?;
tlv.write_uint8(0, 100)?;
tlv.write_string(0, "test")?;
tlv.write_struct_end()?;
// now tlv.data contains encoded tlv buffer
Fields§
§data: Vec<u8>
Implementations§
Source§impl TlvBuffer
impl TlvBuffer
pub fn new() -> Self
pub fn from_vec(v: Vec<u8>) -> Self
pub fn write_raw(&mut self, data: &[u8]) -> Result<()>
pub fn write_anon_struct(&mut self) -> Result<()>
pub fn write_anon_list(&mut self) -> Result<()>
pub fn write_struct(&mut self, tag: u8) -> Result<()>
pub fn write_array(&mut self, tag: u8) -> Result<()>
pub fn write_list(&mut self, tag: u8) -> Result<()>
pub fn write_struct_end(&mut self) -> Result<()>
pub fn write_string(&mut self, tag: u8, data: &str) -> Result<()>
pub fn write_octetstring(&mut self, tag: u8, data: &[u8]) -> Result<()>
pub fn write_int8(&mut self, tag: u8, value: i8) -> Result<()>
pub fn write_uint8(&mut self, tag: u8, value: u8) -> Result<()>
pub fn write_uint8_notag(&mut self, value: u8) -> Result<()>
pub fn write_uint16(&mut self, tag: u8, value: u16) -> Result<()>
pub fn write_uint32(&mut self, tag: u8, value: u32) -> Result<()>
pub fn write_uint64(&mut self, tag: u8, value: u64) -> Result<()>
pub fn write_bool(&mut self, tag: u8, value: bool) -> Result<()>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TlvBuffer
impl RefUnwindSafe for TlvBuffer
impl Send for TlvBuffer
impl Sync for TlvBuffer
impl Unpin for TlvBuffer
impl UnwindSafe for TlvBuffer
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