mirror of
https://github.com/jht5945/rust_util.git
synced 2025-12-29 16:40:05 +08:00
feat: add display for ip address and ip address mask
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
use std::fmt::{ Display, Formatter };
|
||||||
|
use std::result::Result;
|
||||||
use std::net::SocketAddr;
|
use std::net::SocketAddr;
|
||||||
use crate::XResult;
|
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)]
|
#[derive(Debug, Clone)]
|
||||||
pub enum IpAddressMask {
|
pub enum IpAddressMask {
|
||||||
Ipv4([u8; 4], u8),
|
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 {
|
fn ipv4_mask(mask: u8) -> u32 {
|
||||||
let mut r = 0_u32;
|
let mut r = 0_u32;
|
||||||
for _ in 0..mask {
|
for _ in 0..mask {
|
||||||
|
|||||||
Reference in New Issue
Block a user