use core::net::Ipv4Addr;
#[derive(Debug)]
pub struct Ipv4AddrFormatWrapper<'a> {
#[allow(unused)]
ip: &'a Ipv4Addr,
}
impl<'a> Ipv4AddrFormatWrapper<'a> {
pub fn new(ip: &'a Ipv4Addr) -> Self {
Self { ip }
}
}
#[cfg(feature = "defmt")]
impl defmt::Format for Ipv4AddrFormatWrapper<'_> {
fn format(&self, f: defmt::Formatter) {
let ip: u32 = (*self.ip).into();
defmt::write!(
f,
"{=u8}.{=u8}.{=u8}.{=u8}",
((ip >> 24) & 0xFF) as u8,
((ip >> 16) & 0xFF) as u8,
((ip >> 8) & 0xFF) as u8,
((ip >> 0) & 0xFF) as u8,
);
}
}