通訊協定
狀態
定義於 fuchsia.net.interfaces/interfaces.fidl
網路介面狀態檢查與觀察。
GetWatcher
初始化介面狀態的看守工具。
伺服器會將新增、刪除和屬性變更排入佇列, 然後可以透過管道通訊協定擷取。
要求
名稱 | 類型 |
---|---|
options |
WatcherOptions
|
watcher |
server_end<Watcher>
|
Watcher
定義於 fuchsia.net.interfaces/interfaces.fidl
觀察器通訊協定對網路介面的變更 (新增、刪除與 介面屬性變更)。
觀看
等待新增/刪除介面。
用戶端一次只能執行一個方法的呼叫;1 秒鐘 呼叫此方法會導致 用戶端的 IP 位址。
如果伺服器結束時有 N 個介面 初始化通訊協定後,接著執行這個方法的前 N 個叫用 會傳回 Event.existing 以及單一 Event.idle 表示所有現有介面皆已傳送。後續呼叫 如果報表設定變更,系統會立即傳回 直到產生變更為止
伺服器可選擇協調屬性變更事件,例如:時段 發生了多項獨立資源變更時因此,客戶無法 假設他們觀察到介面變更的順序是 變更發生的順序。
- 回應
event
介面變更事件。
要求
<空白>
回應
名稱 | 類型 |
---|---|
event |
Event
|
結構
空白
定義於 fuchsia.net.interfaces/interfaces.fidl
<空白>
ENUMS
AddressAssignmentState 嚴格
類型:uint32
定義於 fuchsia.net.interfaces/interfaces.fidl
IP 位址的指派狀態。
名稱 | 值 | 說明 |
---|---|---|
暫定 |
1 |
正在指派地址,例如地址偵測重複 這裡的資訊在這個狀態下無法使用這個地址 (無法繫結至該位址,或接收目的地封包)。 「重複地址偵測」機制會另行說明 RFC 4862,5.4 節 |
已指派 |
2 |
該位址會指派給介面。 |
無法使用 |
3 |
無法提供網址,例如:如果包含位址的介面 離線。 |
資料表
地址
定義於 fuchsia.net.interfaces/interfaces.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
addr |
fuchsia.net/Subnet
|
位址與前置字串長度。 必填。 |
2 |
valid_until |
zx/Time
|
過了此時間之後,地址就會失效。 其值必須大於 0。值為 做為 選用:內容仍可能因為不感興趣而遭到忽略。 |
3 |
preferred_lifetime_info |
PreferredLifetimeInfo
|
偏好的生命週期資訊。 選用:內容仍可能因為不感興趣而遭到忽略。 新增:9
|
4 |
assignment_state |
AddressAssignmentState
|
地址的指派狀態。 必填。 新增時間:HEAD
|
屬性
定義於 fuchsia.net.interfaces/interfaces.fidl
網路介面的屬性。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
id |
fuchsia.net/InterfaceId
|
這是介面的不透明 ID。代碼值不會重複使用 即使裝置在移除後再重新加回也一樣。不可變動。 |
2 |
addresses |
vector<Address>
|
介面上目前安裝的位址。 地址是根據 Address.addr 進行排序,但不得包含兩個地址
使用相同的 除非使用監看程式建立上述設定檔,否則只會包含指派的地址
WatcherOptions.include_non_assigned_addresses 已設為 |
3 |
online |
bool
|
裝置已啟用,且裝置實體處於連線狀態。 |
4 |
device_class |
DeviceClass
|
介面的裝置類別。不可變動。 淘汰替換為 已移除:23 已淘汰:22
|
5 |
has_default_ipv4_route |
bool
|
是否透過這個介面有預設的 IPv4 路徑。 |
6 |
has_default_ipv6_route |
bool
|
是否透過這個介面有預設的 IPv6 路徑。 |
7 |
name |
Name
|
介面的名稱。不可變動。 |
8 |
port_class |
PortClass
|
介面的通訊埠類別。不可變動。 新增日期:22
|
WatcherOptions
定義於 fuchsia.net.interfaces/interfaces.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
address_properties_interest |
AddressPropertiesInterest
|
註冊地址屬性興趣的位元欄位。 選用;否則系統會將所有位元解譯為 0。 新增時間:HEAD
|
2 |
include_non_assigned_addresses |
bool
|
用於判斷是否只傳回指派地址的旗標 (其中 指派狀態為 AddressAssignmentState::Assigned) 或 會傳回所有位址。 選用:否則就會解讀為 false 新增時間:HEAD
|
聯合國
DeviceClass 嚴格
定義於 fuchsia.net.interfaces/interfaces.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
loopback |
Empty
|
介面即為回送功能。 |
2 |
device |
fuchsia.hardware.network/DeviceClass
|
事件嚴格
定義於 fuchsia.net.interfaces/interfaces.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
existing |
Properties
|
開始觀看時所存在的介面屬性。 已設定所有感興趣的欄位和 Properties.id。 |
2 |
added |
Properties
|
觀看時新增的介面屬性。 已設定所有感興趣的欄位和 Properties.id。 |
3 |
removed |
fuchsia.net/InterfaceId
|
觀看時移除的介面 ID。 |
4 |
changed |
Properties
|
在觀看期間變更的介面屬性。 只有 Properties.id 和已經變更的興趣欄位 都已根據新的值進行設定 |
5 |
idle |
Empty
|
PortClass 彈性
定義於 fuchsia.net.interfaces/interfaces.fidl
介面的通訊埠類別。
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
loopback |
Empty
|
介面即為回送功能。 |
2 |
device |
fuchsia.hardware.network/PortClass
|
介面的網路裝置通訊埠類別。 |
PreferredLifetimeInfo 嚴格
定義於 fuchsia.net.interfaces/interfaces.fidl
指定 IP 位址或委派的偏好生命週期相關資訊 前置字串。
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
preferred_until |
zx/Time
|
偏好生命週期的結束時間。 如果為 偏好的地址效期定義於 RFC 4862 第 2 節。 使用委派前置碼設定的位址必須具備偏好的設定 時間不會超過該字串的保留時間 RFC 8415,6.3 節。 必須大於 0。如果是 |
2 |
deprecated |
Empty
|
位址/前置字串已淘汰。 已淘汰的位址不應再用於啟動 除非明確要求或沒有 會指派未淘汰的地址 (如 RFC 4862 第 1 節)。 使用已淘汰委派的前置碼設定的位址,也必須 已按照 RFC 8415,6.3 節。 如果地址/前置字串的優先生命週期為 已延長。 |
商業智慧
AddressPropertiesInterest 彈性
類型:uint64
定義於 fuchsia.net.interfaces/interfaces.fidl
名稱 | 值 | 說明 |
---|---|---|
VALID_UNTIL |
1 | |
PREFERRED_LIFETIME_INFO |
2 |
觀測站
名稱 | 值 | 類型 | 說明 |
---|---|---|---|
INTERFACE_NAME_LENGTH |
15
|
uint8 |
介面名稱的長度上限。 |
ALIASES
名稱 | 值 | 說明 |
---|---|---|
名稱 |
string [INTERFACE_NAME_LENGTH ] |
做為位元組序列的介面名稱。 |