Crates.io | cluLamansh |
lib.rs | cluLamansh |
version | 0.1.4 |
source | src |
created_at | 2018-07-29 00:16:53.024355 |
updated_at | 2018-07-31 16:16:27.03782 |
description | A binary record of the values stored in the array using the Lamansh protocol. |
homepage | |
repository | https://github.com/clucompany/cluLamansh.git |
max_upload_size | |
id | 76426 |
size | 94,002 |
A binary record of the values stored in the array using the Lamansh protocol.
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();
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);
}
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);
}
}
Copyright 2018 #UlinProject Денис Котляров
Licensed under the Apache License, Version 2.0