pub enum CidrSubnet {
V4([u8; 4], [u8; 4]),
V6([u8; 16], [u8; 16]),
}展开描述
CIDR 子网,遵循 RFC 4632 的规定
你可能更熟悉 CIDR 子网的文本表示形式:由一个 IP 地址后接斜杠与一个前缀数字组成,
例如 192.168.99.0/24。
枚举中第一个字段是地址,第二个是掩码。两者均按网络字节序指定。
变体§
实现§
Source§impl CidrSubnet
impl CidrSubnet
Sourcepub fn from_addr_prefix(addr: IpAddr, prefix: u8) -> Self
pub fn from_addr_prefix(addr: IpAddr, prefix: u8) -> Self
从 IP 地址以及指定的前缀长度获取 CidrSubnet。
// The "192.0.2.0/24" example from
// https://tools.ietf.org/html/rfc5280#page-42
let addr = IpAddr::from_str("192.0.2.0").unwrap();
let subnet = CidrSubnet::from_addr_prefix(addr, 24);
assert_eq!(subnet, CidrSubnet::V4([0xC0, 0x00, 0x02, 0x00], [0xFF, 0xFF, 0xFF, 0x00]));Sourcepub fn from_v4_prefix(addr: [u8; 4], prefix: u8) -> Self
pub fn from_v4_prefix(addr: [u8; 4], prefix: u8) -> Self
从网络字节序的 IPv4 地址以及指定的前缀获取 CidrSubnet。
Sourcepub fn from_v6_prefix(addr: [u8; 16], prefix: u8) -> Self
pub fn from_v6_prefix(addr: [u8; 16], prefix: u8) -> Self
从网络字节序的 IPv6 地址以及指定的前缀获取 CidrSubnet。
Trait 实现§
Source§impl Clone for CidrSubnet
impl Clone for CidrSubnet
Source§fn clone(&self) -> CidrSubnet
fn clone(&self) -> CidrSubnet
返回值的副本。 更多信息
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. 更多信息Source§impl Debug for CidrSubnet
impl Debug for CidrSubnet
Source§impl FromStr for CidrSubnet
从众所周知的 addr/前缀记法获取 CidrSubnet。
impl FromStr for CidrSubnet
从众所周知的 addr/前缀记法获取 CidrSubnet。
// The "192.0.2.0/24" example from
// https://tools.ietf.org/html/rfc5280#page-42
let subnet = CidrSubnet::from_str("192.0.2.0/24").unwrap();
assert_eq!(subnet, CidrSubnet::V4([0xC0, 0x00, 0x02, 0x00], [0xFF, 0xFF, 0xFF, 0x00]));Source§impl Hash for CidrSubnet
impl Hash for CidrSubnet
Source§impl PartialEq for CidrSubnet
impl PartialEq for CidrSubnet
impl Copy for CidrSubnet
impl Eq for CidrSubnet
impl StructuralPartialEq for CidrSubnet
自动 Trait 实现§
impl Freeze for CidrSubnet
impl RefUnwindSafe for CidrSubnet
impl Send for CidrSubnet
impl Sync for CidrSubnet
impl Unpin for CidrSubnet
impl UnsafeUnpin for CidrSubnet
impl UnwindSafe for CidrSubnet
Blanket 实现§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. 更多信息