結構化
BeginTransfer
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
fuchsia.overnet.protocol/StreamControl.begin_transfer 的主體。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| new_destination_node | NodeId | 這個串流端點的新擁有者。 | 無預設 | 
| transfer_key | TransferKey | 用於識別這項擁有權轉移的金鑰。 | 無預設 | 
ChannelHandle
定義於 fuchsia.overnet.protocol/zircon_proxy.fidl
經 Proxy 處理的管道。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| rights | ChannelRights | 指派給這個帳號代碼的權利。 | 無預設 | 
| stream_ref | StreamRef | 為帶入這個管道而建立的 Overnet Proxy 串流。上述串流的通訊協定將為  | 無預設 | 
ConnectToService
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
建立標示 stream_id 的新串流,與廣告的服務 service_name 通訊。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| service_name | string[255] | 要連結哪個服務。 | 無預設 | 
| stream_ref | StreamRef | 此服務連線會在哪個 QUIC 串流建立。 | 無預設 | 
| rights | ChannelRights | 這個連結的管道權限。 | 無預設 | 
| options | ConnectToServiceOptions | 這個連線的輔助選項。 | 無預設 | 
空白
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
<EMPTY>
EventPairHandle
定義於 fuchsia.overnet.protocol/zircon_proxy.fidl
代理事件配對。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| rights | EventPairRights | 指派給這個帳號代碼的權利。 | 無預設 | 
| stream_ref | StreamRef | 為攜帶此事件組合而建立的 Overnet Proxy 串流。這個串流不會傳送任何酬載,但傳輸和信號控制訊息將按照用於所有處理類型的一般 StreamControl/SignalUpdate 通訊協定。 | 無預設 | 
NodeId
定義於 fuchsia.overnet.protocol/labels.fidl
覆蓋網路上的節點位址。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| id | uint64 | 無預設 | 
OpenTransfer
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
建立標示為 stream_id 的新串流,完成標示為 transfer_key 的移轉。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| stream_id | StreamId | 此服務連線會在哪個 QUIC 串流建立。 | 無預設 | 
| transfer_key | TransferKey | 轉移金鑰追蹤轉移情況。 | 無預設 | 
SocketHandle
定義於 fuchsia.overnet.protocol/zircon_proxy.fidl
有 Proxy 的通訊端。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| rights | SocketRights | 指派給這個帳號代碼的權利。 | 無預設 | 
| stream_ref | StreamRef | 為攜帶此通訊端而建立的 Overnet Proxy 串流。上述串流的通訊協定將為  | 無預設 | 
| socket_type | SocketType | 通訊端選項,每  | 無預設 | 
StreamId
定義於 fuchsia.overnet.protocol/labels.fidl
識別 Overnet 網格上的兩個程序之間的單一超網路串流。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| id | uint64 | 無預設 | 
TransferInitiator
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
fuchsia.overnet.protocol/StreamRef.transfer_initiator 的主體。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| stream_id | StreamId | 這項轉乘作業的排放串流。來自舊 Proxy 端的緩衝訊息會透過這個單向 QUIC 串流傳送,且應在處理「之前」處理,才能處理來自新端點的任何訊息。 | 無預設 | 
| new_destination_node | NodeId | 我們要聯絡的這個 Proxy 的對等節點 ID。 請注意,這「可能」是接收這則訊息的節點。 | 無預設 | 
| transfer_key | TransferKey | 用於識別這項擁有權轉移的金鑰。 | 無預設 | 
TransferWaiter
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
fuchsia.overnet.protocol/StreamRef.transfer_waiter 的主體。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| stream_id | StreamId | 這項轉乘作業的排放串流。來自舊 Proxy 端的緩衝訊息會透過這個單向 QUIC 串流傳送,且應在處理「之前」處理,才能處理來自新端點的任何訊息。 | 無預設 | 
| transfer_key | TransferKey | 用於識別這項擁有權轉移的金鑰。 | 無預設 | 
ZirconChannelMessage
定義於 fuchsia.overnet.protocol/zircon_proxy.fidl
透過 Overnet 串流的 Zircon 管道 Proxy 代理的單一訊息。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| bytes | vector<uint8>[65536] | 酬載的位元組部分。 | 無預設 | 
| handles | vector<ZirconHandle>[64] | 處理部分酬載。 | 無預設 | 
ENUMS
SocketType strict
類型:uint32
定義於 fuchsia.overnet.protocol/zircon_proxy.fidl
透過 fuchsia.overnet.protocol/SocketHandle 通訊的通訊端類型。
| 名稱 | 值 | 說明 | 
|---|---|---|
| 資料彙整 | 0 | Datagram 導向的通訊端。 | 
| STREAM | 1 | 串流導向的通訊端。 | 
資料表
ConfigRequest
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
整體連線設定要求
| 序數 | 欄位 | 類型 | 說明 | 
|---|
ConfigResponse
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
整體連線設定回應 - 做為連線串流的第一個回應訊息傳送。
| 序數 | 欄位 | 類型 | 說明 | 
|---|
ConnectToServiceOptions
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
建立服務連線的選項。
| 序數 | 欄位 | 類型 | 說明 | 
|---|
PeerDescription
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
單一節點的說明。
| 序數 | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | services | vector<string> | 這個節點發布的服務組合, | 
SignalUpdate
定義於 fuchsia.overnet.protocol/zircon_proxy.fidl
信號狀態更新。這些信號會以側邊管道傳輸,每種處理代碼類型都會散播一些訊號位元。
| 序數 | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | assert_signals | Signals | 更新部分信號 | 
聯合國
PeerMessage 嚴格
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
兩個 Overnet 節點之間的點對點通訊協定。用戶端 QUIC 連線會透過 QUIC 串流 0 將這個 x Union 傳送至伺服器。
| 序數 | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | connect_to_service | ConnectToService | 要求為由這個對等點匯出的服務建立管道。 | 
| 2 | update_node_description | PeerDescription | 在伺服器上更新這項同類應用程式說明。 | 
| 4 | open_transfer | OpenTransfer | 開啟已轉移的串流。 | 
同級回覆嚴格
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
視情況回覆 PeerMessage 的訊息。 ConfigResponse 訊息必須已經傳送。
| 序數 | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | update_link_status_ack | Empty | 確認 UpdateLinkStatus 訊息 | 
StreamControl 嚴格
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
串流控制訊息:如果影格類型為 1 (StreamControl),系統就會傳送,而非一般串流影格。待辦事項:請考慮在 FIDL 中定義串流取景格式。
| 序數 | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | begin_transfer | BeginTransfer | 轉移作業已開始:傳送節點要轉移控制權。 | 
| 2 | ack_transfer | Empty | 確認 start_transfer - 傳送者已看到先前傳送的 begin_transfer 並已回應。這是一般直播最後傳送的最後一則訊息。 | 
| 3 | end_transfer | Empty | 結束傳輸 - 訊號排出串流已完成清空。這是在排除串流中傳送的最後一則訊息。 | 
| 4 | shutdown | zx/Status | 關閉串流並顯示部分狀態。 | 
StreamRef 嚴格
定義於 fuchsia.overnet.protocol/peer_protocol.fidl
StreamRef 會識別新的 Proxy 串流,並詳細說明該串流在接收節點上的方式。
| 序數 | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | creating | StreamId | 系統正在建立新的 Proxy,而 Proxy 的另一端則位於傳送節點上。這是簡單的情況,我們會直接傳送用來傳輸流量的 QUIC 串流 ID。 | 
| 2 | transfer_initiator | TransferInitiator | 正在將現有的 Proxy 轉移至這個節點。這個節點應啟動與對等點的通訊。 | 
| 3 | transfer_waiter | TransferWaiter | 正在將現有的 Proxy 轉移至這個節點。這個節點會等候對等點聯絡。 | 
ZirconHandle 嚴格
定義於 fuchsia.overnet.protocol/zircon_proxy.fidl
要進行 Proxy 處理的單一控制代碼。系統只支援部分 Zircon 類型。
| 序數 | Variant | 類型 | 說明 | 
|---|---|---|---|
| 1 | channel | ChannelHandle | 經 Proxy 處理的管道。 | 
| 2 | socket | SocketHandle | 有 Proxy 的通訊端。 | 
| 3 | event_pair | EventPairHandle | 代理事件配對。 | 
帳單
頻道權利嚴格
類型:uint32
定義於 fuchsia.overnet.protocol/zircon_proxy.fidl
頻道權利。 Overnet 會將權限視為個別物件的類型,以減少可透過傳輸格式進行通訊的內容空間。系統會一律假設轉移權利。
| 名稱 | 值 | 說明 | 
|---|---|---|
| 閱讀 | 1 | |
| 寫入 | 2 | 
EventPairRights 嚴格
類型:uint32
定義於 fuchsia.overnet.protocol/zircon_proxy.fidl
事件配對權限。Overnet 會將權限視為個別物件的類型,以減少可透過傳輸格式進行通訊的內容空間。系統會一律假設轉移權利。
| 名稱 | 值 | 說明 | 
|---|---|---|
| DO_NOT_USE | 2147483648 | 
信號嚴格
類型:uint32
定義於 fuchsia.overnet.protocol/zircon_proxy.fidl
可傳播的信號。這些 Pod 經過刻意挑選和 Zircon 中定義的位元不同,藉此強制存在對應程式碼,並盡可能降低 Zircon ABI 意外成為 Overnet 通訊協定的機率。
| 名稱 | 值 | 說明 | 
|---|---|---|
| USER_0 | 1 | |
| USER_1 | 2 | |
| USER_2 | 4 | |
| USER_3 | 8 | |
| USER_4 | 16 | |
| USER_5 | 32 | |
| USER_6 | 64 | |
| USER_7 | 128 | 
SocketRights 嚴格
類型:uint32
定義於 fuchsia.overnet.protocol/zircon_proxy.fidl
通訊端權限。 Overnet 會將權限視為個別物件的類型,以減少可透過傳輸格式進行通訊的內容空間。系統會一律假設轉移權利。
| 名稱 | 值 | 說明 | 
|---|---|---|
| 閱讀 | 1 | |
| 寫入 | 2 | 
業者
| 名稱 | 值 | 類型 | 說明 | 
|---|---|---|---|
| MAX_SERVICE_NAME_LENGTH | fuchsia.io/MAX_NAME_LENGTH | uint64 | |
| TRANSFER_KEY_LENGTH | 16 | uint32 | 轉移金鑰的長度。 | 
別名
| 名稱 | 值 | 說明 | 
|---|---|---|
| TransferKey | array[TRANSFER_KEY_LENGTH] | 將串流端點從一個節點移至另一個節點時,會使用移轉金鑰。它會識別單筆傳輸,因此不得重複,因此,傳輸結束時應捨棄。 |