// Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. // Enable just this file for logging to just see packets. // e.g. "RUST_LOG=neqo_transport::dump neqo-client ..." use crate::connection::Connection; use crate::frame::Frame; use crate::packet::{PacketNumber, PacketType}; use neqo_common::{qdebug, Decoder}; #[allow(clippy::module_name_repetitions)] pub fn dump_packet(conn: &Connection, dir: &str, pt: PacketType, pn: PacketNumber, payload: &[u8]) { let mut s = String::from(""); let mut d = Decoder::from(payload); while d.remaining() > 0 { let f = match Frame::decode(&mut d) { Ok(f) => f, Err(_) => { s.push_str(" [broken]..."); break; } }; if let Some(x) = f.dump() { s.push_str(&format!("\n {} {}", dir, &x)); } } qdebug!([conn], "pn={} type={:?}{}", pn, pt, s); }