Crate cluLamansh[−][src]
A binary record of the values stored in the array using the Lamansh protocol.
Protocol Lamansh
extern crate cluLamansh; use cluLamansh::lamansh::sized::U8; use cluLamansh::lamansh::sized::U64; use cluLamansh::new_custom_lamansh; let lamansh = new_custom_lamansh::<U8, U64>( // PROTOCOL SIZED U8 - 255 elements, U64 - 64 sized value len &[/* 2 bin value, [1, 1, 1,] and [23, 55] */ 1u8, /* count len_header, 8 bit */ 0u8,0u8,0u8,0u8,0u8,0u8,0u8,3u8, /* count len value, 64 bit */ 0u8,0u8,0u8,0u8,0u8,0u8,0u8,2u8, 1u8,1u8,1u8, /* value, max 64 bit value */ 23u8,55u8 ] ).unwrap();
Use
extern crate cluLamansh; use cluLamansh::new_custom_lamansh; use cluLamansh::lamansh::build::ToLamansh; use cluLamansh::lamansh::sized::U64; use cluLamansh::lamansh::sized::U8; type CountElements = U8; type ValueLenElements = U64; pub fn main() { let array = &[ &b"TEST"[..], &b""[..], &b"my_test"[..], ].to_lamansh::<CountElements, ValueLenElements>().unwrap(); let lamash = new_custom_lamansh::<CountElements, ValueLenElements>(array).unwrap(); let mut iter = lamash.iter(); assert_eq!(iter.next(), Some( Result::Ok( &b"TEST"[..] ) )); assert_eq!(iter.next(), Some( Result::Ok( &b""[..] ) )); assert_eq!(iter.next(), Some( Result::Ok( &b"my_test"[..] ) )); assert_eq!(iter.next(), None); }
Use Buffer
Eliminates buffer redistribution.
extern crate cluLamansh; use cluLamansh::new_custom_lamansh; use cluLamansh::lamansh::build::ToLamansh; use cluLamansh::lamansh::sized::U64; use cluLamansh::lamansh::sized::U8; use cluLamansh::lamansh::buffer::LamanshBuffer; type CountElements = U8; type ValueLenElements = U64; pub fn main() { let mut buffer = LamanshBuffer::new(); for a in 99 .. 120 { let string_a = a.to_string(); &[ &b"TEST"[..], &b"TEST45"[..], &b"TEST2"[..], &b"TEST3"[..], &b""[..], string_a.as_bytes(), ].update_buffer::<CountElements, ValueLenElements>(&mut buffer).unwrap(); let lamash = new_custom_lamansh::<CountElements, ValueLenElements>(&mut buffer).unwrap(); let mut iter = lamash.iter(); assert_eq!(iter.next(), Some( Result::Ok( &b"TEST"[..] ) )); assert_eq!(iter.next(), Some( Result::Ok( &b"TEST45"[..] ) )); assert_eq!(iter.next(), Some( Result::Ok( &b"TEST2"[..] ) )); assert_eq!(iter.next(), Some( Result::Ok( &b"TEST3"[..] ) )); assert_eq!(iter.next(), Some( Result::Ok( &b""[..] ) )); assert_eq!(iter.next(), Some( Result::Ok( string_a.as_bytes() ) )); assert_eq!(iter.next(), None); } }
Modules
lamansh |
Methods of recording and reading the protocol |
Functions
new_custom_lamansh |
Create a handler from the received data. Sized name = custom, Sized value = custom |
new_lamansh |
Create a handler from the received data. Sized name = default, Sized value = default |
new_lamansh_mini |
Create a handler from the received data. Sized name = U8 (255 len), Sized value = U8 (255 len) |