diff --git a/src/util_net.rs b/src/util_net.rs index 0f843da..aa002b4 100644 --- a/src/util_net.rs +++ b/src/util_net.rs @@ -1,3 +1,5 @@ +use std::fmt::{ Display, Formatter }; +use std::result::Result; use std::net::SocketAddr; use crate::XResult; @@ -24,6 +26,12 @@ impl IpAddress { } } +impl Display for IpAddress { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), std::fmt::Error> { + write!(f, "{}", self.to_address()) + } +} + #[derive(Debug, Clone)] pub enum IpAddressMask { Ipv4([u8; 4], u8), @@ -72,6 +80,12 @@ impl IpAddressMask { } } +impl Display for IpAddressMask { + fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), std::fmt::Error> { + write!(f, "{}", self.to_address()) + } +} + fn ipv4_mask(mask: u8) -> u32 { let mut r = 0_u32; for _ in 0..mask {