feat: add a field.id
This commit is contained in:
@ -68,9 +68,12 @@ impl<'a> From<&'a [u8]> for Block<'a> {
|
||||
let mut field_offset = 0;
|
||||
// While there is still content to read, parse Fields
|
||||
let mut content = Vec::new();
|
||||
let mut field_id = 1;
|
||||
while field_offset < block_size {
|
||||
let field: Field<'a> = raw_content[field_offset..].into();
|
||||
let mut field: Field<'a> = raw_content[field_offset..].into();
|
||||
field.id = field_id;
|
||||
field_offset += field.size;
|
||||
field_id += 1;
|
||||
content.push(field);
|
||||
}
|
||||
Block {
|
||||
@ -83,6 +86,7 @@ impl<'a> From<&'a [u8]> for Block<'a> {
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Field<'a> {
|
||||
pub id: u16,
|
||||
pub size: usize,
|
||||
pub content: &'a [u8],
|
||||
}
|
||||
@ -92,6 +96,7 @@ impl<'a> From<&'a [u8]> for Field<'a> {
|
||||
let ElementSize { size, pad } = bytes.try_into().unwrap();
|
||||
let contenu = &bytes[pad..pad + size];
|
||||
Field {
|
||||
id: 0,
|
||||
size: pad + size,
|
||||
content: contenu,
|
||||
}
|
||||
|
Reference in New Issue
Block a user