1
0
mirror of https://github.com/jht5945/rust_util.git synced 2025-12-27 07:30:05 +08:00

feat: add display for ip address and ip address mask

This commit is contained in:
2020-09-06 18:49:40 +08:00
parent bd8152f59b
commit 90fc790b64

View File

@@ -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 {