本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。