Cactus/net/packet/
utils.rs1use std::any::{type_name, type_name_of_val};
4
5pub fn get_hex_repr(data: &[u8]) -> String {
8 data.iter()
9 .map(|b| format!("{:02X}", b))
10 .collect::<Vec<String>>()
11 .join(" ")
12}
13
14pub fn get_bin_repr(data: &[u8]) -> String {
17 data.iter()
18 .map(|b| format!("{:08b}", b))
19 .collect::<Vec<String>>()
20 .join(" ")
21}
22
23pub fn get_dec_repr(data: &[u8]) -> String {
25 data.iter()
26 .map(|b| format!("{}", b))
27 .collect::<Vec<String>>()
28 .join(" ")
29}
30
31pub fn name_of<T>(value: Option<&T>) -> &'static str {
34 match value {
35 None => type_name::<T>().rsplit("::").next().unwrap(),
36 Some(v) => type_name_of_val(v).rsplit("::").next().unwrap(),
37 }
38}