当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Ipv4Addr.is_global用法及代码示例


本文简要介绍rust语言中 std::net::Ipv4Addr.is_global 的用法。

用法

pub fn is_global(&self) -> bool

如果地址看起来是全局可路由的,则返回 true 。请参阅iana-ipv4-special-registry

以下返回 false

例子

#![feature(ip)]

use std::net::Ipv4Addr;

// private addresses are not global
assert_eq!(Ipv4Addr::new(10, 254, 0, 0).is_global(), false);
assert_eq!(Ipv4Addr::new(192, 168, 10, 65).is_global(), false);
assert_eq!(Ipv4Addr::new(172, 16, 10, 65).is_global(), false);

// the 0.0.0.0/8 block is not global
assert_eq!(Ipv4Addr::new(0, 1, 2, 3).is_global(), false);
// in particular, the unspecified address is not global
assert_eq!(Ipv4Addr::new(0, 0, 0, 0).is_global(), false);

// the loopback address is not global
assert_eq!(Ipv4Addr::new(127, 0, 0, 1).is_global(), false);

// link local addresses are not global
assert_eq!(Ipv4Addr::new(169, 254, 45, 1).is_global(), false);

// the broadcast address is not global
assert_eq!(Ipv4Addr::new(255, 255, 255, 255).is_global(), false);

// the address space designated for documentation is not global
assert_eq!(Ipv4Addr::new(192, 0, 2, 255).is_global(), false);
assert_eq!(Ipv4Addr::new(198, 51, 100, 65).is_global(), false);
assert_eq!(Ipv4Addr::new(203, 0, 113, 6).is_global(), false);

// shared addresses are not global
assert_eq!(Ipv4Addr::new(100, 100, 0, 0).is_global(), false);

// addresses reserved for protocol assignment are not global
assert_eq!(Ipv4Addr::new(192, 0, 0, 0).is_global(), false);
assert_eq!(Ipv4Addr::new(192, 0, 0, 255).is_global(), false);

// addresses reserved for future use are not global
assert_eq!(Ipv4Addr::new(250, 10, 20, 30).is_global(), false);

// addresses reserved for network devices benchmarking are not global
assert_eq!(Ipv4Addr::new(198, 18, 0, 0).is_global(), false);

// All the other addresses are global
assert_eq!(Ipv4Addr::new(1, 1, 1, 1).is_global(), true);
assert_eq!(Ipv4Addr::new(80, 9, 12, 3).is_global(), true);

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::net::Ipv4Addr.is_global。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。