Expand description
Pretty-printing of packet representation.
The pretty_print
module provides bits and pieces for printing concise,
easily human readable packet listings.
§Example
A packet can be formatted using the PrettyPrinter
wrapper:
use smoltcp::wire::*;
let buffer = vec![
// Ethernet II
0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
0x08, 0x00,
// IPv4
0x45, 0x00, 0x00, 0x20,
0x00, 0x00, 0x40, 0x00,
0x40, 0x01, 0xd2, 0x79,
0x11, 0x12, 0x13, 0x14,
0x21, 0x22, 0x23, 0x24,
// ICMPv4
0x08, 0x00, 0x8e, 0xfe,
0x12, 0x34, 0xab, 0xcd,
0xaa, 0x00, 0x00, 0xff
];
let result = "\
EthernetII src=11-12-13-14-15-16 dst=01-02-03-04-05-06 type=IPv4\n\
\\ IPv4 src=17.18.19.20 dst=33.34.35.36 proto=ICMP (checksum incorrect)\n \
\\ ICMPv4 echo request id=4660 seq=43981 len=4\
";
#[cfg(all(feature = "medium-ethernet", feature = "proto-ipv4"))]
assert_eq!(
result,
&format!("{}", PrettyPrinter::<EthernetFrame<&'static [u8]>>::new("", &buffer))
);
Structs§
- Indentation state.
- Wrapper for using a
PrettyPrint
where aDisplay
is expected.
Traits§
- Interface for printing listings.