Enum std::net::Ipv6MulticastScope [−][src]
#[non_exhaustive]
pub enum Ipv6MulticastScope {
InterfaceLocal,
LinkLocal,
RealmLocal,
AdminLocal,
SiteLocal,
OrganizationLocal,
Global,
}
Expand description
IETF RFC 7346 第 2 节 中定义的 IPv6 多播地址 的范围。
稳定性保证
并非多播作用域的所有可能值都已分配。
未来的 RFC 可能会引入新的作用域,它将作为变体添加到此枚举中;
因此,枚举被标记为 #[non_exhaustive]
。
Examples
#![feature(ip)]
use std::net::Ipv6Addr;
use std::net::Ipv6MulticastScope::*;
// 具有全局作用域 (`ff0e::`) 的 IPv6 多播地址。
let address = Ipv6Addr::new(0xff0e, 0, 0, 0, 0, 0, 0, 0);
// 将打印 "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!")
}
RunVariants (Non-exhaustive)
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
InterfaceLocal
Interface-Local 作用域。
LinkLocal
Link-Local 作用域。
RealmLocal
Realm-Local 作用域。
AdminLocal
Admin-Local 作用域。
SiteLocal
Site-Local 作用域。
OrganizationLocal
Organization-Local 作用域。
Global
Global 作用域。