format tweaks
This commit is contained in:
parent
0aa80012ac
commit
009aeabd45
|
@ -19,6 +19,7 @@ impl FormatTlv for (u8, Vec<u8>) {
|
||||||
impl FormatTlv for (&u8, &Vec<u8>) {
|
impl FormatTlv for (&u8, &Vec<u8>) {
|
||||||
fn as_tlv_string(&self) -> String {
|
fn as_tlv_string(&self) -> String {
|
||||||
let (tlv_type, data) = self;
|
let (tlv_type, data) = self;
|
||||||
|
let tlv_type_num = *self.0;
|
||||||
let tlv_type =
|
let tlv_type =
|
||||||
TlvType::try_from(**tlv_type).map_err(|e| format!("Unknown TLV type: {}", e.0));
|
TlvType::try_from(**tlv_type).map_err(|e| format!("Unknown TLV type: {}", e.0));
|
||||||
match tlv_type {
|
match tlv_type {
|
||||||
|
@ -47,7 +48,10 @@ impl FormatTlv for (&u8, &Vec<u8>) {
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.unwrap_or(String::from("TLV error type with no data!")),
|
.unwrap_or(String::from("TLV error type with no data!")),
|
||||||
_ => format!("{tlv_type:?}: {data:?} (length: {})", data.len()),
|
_ => format!(
|
||||||
|
"{tlv_type:?} ({tlv_type_num}): {data:?} (length: {})",
|
||||||
|
data.len()
|
||||||
|
),
|
||||||
},
|
},
|
||||||
Err(tlv_type) => format!("{tlv_type}: {data:?} (length: {})", data.len()),
|
Err(tlv_type) => format!("{tlv_type}: {data:?} (length: {})", data.len()),
|
||||||
}
|
}
|
||||||
|
@ -61,7 +65,7 @@ impl FormatTlv for HashMap<u8, Vec<u8>> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl FormatTlv for Vec<(u8, Vec<u8>)> {
|
impl FormatTlv for &[(u8, Vec<u8>)] {
|
||||||
fn as_tlv_string(&self) -> String {
|
fn as_tlv_string(&self) -> String {
|
||||||
self.iter()
|
self.iter()
|
||||||
.fold(String::new(), |a, v| format!("{a}\n{}", v.as_tlv_string()))
|
.fold(String::new(), |a, v| format!("{a}\n{}", v.as_tlv_string()))
|
||||||
|
@ -97,7 +101,7 @@ pub fn decode(data: &[u8]) -> Result<HashMap<u8, Vec<u8>>, TlvCodecError> {
|
||||||
};
|
};
|
||||||
tlvs.insert(tlv_type, tlv_data);
|
tlvs.insert(tlv_type, tlv_data);
|
||||||
}
|
}
|
||||||
log::info!("{}", tlvs.as_tlv_string());
|
log::info!("Decoded TLV: {}\n", tlvs.as_tlv_string());
|
||||||
Ok(tlvs)
|
Ok(tlvs)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue