pub fn check_checkmtu_mimeswap<const TO_MIME: bool>
(ic: &InstanceConfig, data: &mut [u8])
{
+// eprintln!("before: {}", DumpHex(data));
+
for mut packet in data.split_mut(|&c| c == SLIP_END) {
if packet.len() > ic.mtu.sat() {
throw!(anyhow!("mtu exceeded ({} > {})", packet.len(), ic.mtu));
packet = &mut packet[i+2 ..];
}
}
+
+// eprintln!(" after: {}", DumpHex(data));
}
pub type Frame = Vec<u8>;
impl From<Frames> for FramesData {
fn from(frames: Frames) -> FramesData { frames.frames }
}
+
+struct DumpHex<'b>(pub &'b [u8]);
+impl Display for DumpHex<'_> {
+ #[throws(fmt::Error)]
+ fn fmt(&self, f: &mut fmt::Formatter) {
+ for v in self.0 { write!(f, "{:02x}", v)?; }
+ }
+}