本文简要介绍rust语言中 Enum std::net::Ipv6MulticastScope
的用法。
用法
#[non_exhaustive]
pub enum Ipv6MulticastScope {
InterfaceLocal,
LinkLocal,
RealmLocal,
AdminLocal,
SiteLocal,
OrganizationLocal,
Global,
}
IPv6 multicast address 的范围如 IETF RFC 7346 section 2 中定义。
稳定性保证
并非多播范围的所有可能值都已分配。未来的 RFC 可能会引入新的范围,这些范围将作为该枚举的变体添加;因此,枚举被标记为 #[non_exhaustive]
。
例子
#![feature(ip)]
use std::net::Ipv6Addr;
use std::net::Ipv6MulticastScope::*;
// An IPv6 multicast address with global scope (`ff0e::`).
let address = Ipv6Addr::new(0xff0e, 0, 0, 0, 0, 0, 0, 0);
// Will print "Global scope".
match address.multicast_scope() {
Some(InterfaceLocal) => println!("Interface-Local scope"),
Some(LinkLocal) => println!("Link-Local scope"),
Some(RealmLocal) => println!("Realm-Local scope"),
Some(AdminLocal) => println!("Admin-Local scope"),
Some(SiteLocal) => println!("Site-Local scope"),
Some(OrganizationLocal) => println!("Organization-Local scope"),
Some(Global) => println!("Global scope"),
Some(_) => println!("Unknown scope"),
None => println!("Not a multicast address!")
}
变体(非详尽)
非详尽的枚举将来可能会添加其他变体。因此,当匹配非穷举枚举的变体时,必须添加一个额外的通配符来说明任何未来的变体。
InterfaceLocal
Interface-Local 范围。
LinkLocal
Link-Local 范围。
RealmLocal
Realm-Local 范围。
AdminLocal
Admin-Local 范围。
SiteLocal
Site-Local 范围。
OrganizationLocal
Organization-Local 范围。
Global
全局范围。
相关用法
- Rust Ipv6Addr.is_multicast用法及代码示例
- Rust Ipv6Addr.is_documentation用法及代码示例
- Rust Ipv6Addr.is_unspecified用法及代码示例
- Rust Ipv6Addr.octets用法及代码示例
- Rust Ipv6Addr.multicast_scope用法及代码示例
- Rust Ipv6Addr.is_unicast_link_local用法及代码示例
- Rust Ipv6Addr.to_ipv4用法及代码示例
- Rust Ipv6Addr.to_canonical用法及代码示例
- Rust Ipv6Addr.is_unique_local用法及代码示例
- Rust Ipv6Addr.is_benchmarking用法及代码示例
- Rust Ipv6Addr.is_loopback用法及代码示例
- Rust Ipv6Addr.new用法及代码示例
- Rust Ipv6Addr用法及代码示例
- Rust Ipv6Addr.is_unicast_global用法及代码示例
- Rust Ipv6Addr.to_ipv4_mapped用法及代码示例
- Rust Ipv6Addr.is_global用法及代码示例
- Rust Ipv6Addr.is_unicast用法及代码示例
- Rust Ipv6Addr.segments用法及代码示例
- Rust Ipv4Addr.is_global用法及代码示例
- Rust Ipv4Addr.new用法及代码示例
- Rust Ipv4Addr.is_link_local用法及代码示例
- Rust Ipv4Addr.is_loopback用法及代码示例
- Rust Ipv4Addr.is_private用法及代码示例
- Rust Ipv4Addr用法及代码示例
- Rust Ipv4Addr.to_ipv6_compatible用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Enum std::net::Ipv6MulticastScope。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。