fuchsia.overnet.protocol

新增時間:16 天

結構化

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 串流。上述串流的通訊協定將為 ZirconChannel

無預設

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 串流。上述串流的通訊協定將為 ZirconSocket

無預設
socket_type SocketType

通訊端選項,每 zx_socket_create

無預設

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 導向的通訊端。

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

單一節點的說明。

序數欄位類型說明
services vector<string>

這個節點發布的服務組合,

SignalUpdate

定義於 fuchsia.overnet.protocol/zircon_proxy.fidl

信號狀態更新。這些信號會以側邊管道傳輸,每種處理代碼類型都會散播一些訊號位元。

序數欄位類型說明
assert_signals Signals

更新部分信號

聯合國

PeerMessage 嚴格

定義於 fuchsia.overnet.protocol/peer_protocol.fidl

兩個 Overnet 節點之間的點對點通訊協定。用戶端 QUIC 連線會透過 QUIC 串流 0 將這個 x Union 傳送至伺服器。

序數Variant類型說明
connect_to_service ConnectToService

要求為由這個對等點匯出的服務建立管道。

update_node_description PeerDescription

在伺服器上更新這項同類應用程式說明。

open_transfer OpenTransfer

開啟已轉移的串流。

同級回覆嚴格

定義於 fuchsia.overnet.protocol/peer_protocol.fidl

視情況回覆 PeerMessage 的訊息。 ConfigResponse 訊息必須已經傳送。

序數Variant類型說明

StreamControl 嚴格

定義於 fuchsia.overnet.protocol/peer_protocol.fidl

串流控制訊息:如果影格類型為 1 (StreamControl),系統就會傳送,而非一般串流影格。待辦事項:請考慮在 FIDL 中定義串流取景格式。

序數Variant類型說明
begin_transfer BeginTransfer

轉移作業已開始:傳送節點要轉移控制權。

ack_transfer Empty

確認 start_transfer - 傳送者已看到先前傳送的 begin_transfer 並已回應。這是一般直播最後傳送的最後一則訊息。

end_transfer Empty

結束傳輸 - 訊號排出串流已完成清空。這是在排除串流中傳送的最後一則訊息。

shutdown zx/Status

關閉串流並顯示部分狀態。

StreamRef 嚴格

定義於 fuchsia.overnet.protocol/peer_protocol.fidl

StreamRef 會識別新的 Proxy 串流,並詳細說明該串流在接收節點上的方式。

序數Variant類型說明
creating StreamId

系統正在建立新的 Proxy,而 Proxy 的另一端則位於傳送節點上。這是簡單的情況,我們會直接傳送用來傳輸流量的 QUIC 串流 ID。

transfer_initiator TransferInitiator

正在將現有的 Proxy 轉移至這個節點。這個節點應啟動與對等點的通訊。

transfer_waiter TransferWaiter

正在將現有的 Proxy 轉移至這個節點。這個節點會等候對等點聯絡。

ZirconHandle 嚴格

定義於 fuchsia.overnet.protocol/zircon_proxy.fidl

要進行 Proxy 處理的單一控制代碼。系統只支援部分 Zircon 類型。

序數Variant類型說明
channel ChannelHandle

經 Proxy 處理的管道。

socket SocketHandle

有 Proxy 的通訊端。

event_pair EventPairHandle

代理事件配對。

帳單

頻道權利嚴格

類型:uint32

定義於 fuchsia.overnet.protocol/zircon_proxy.fidl

頻道權利。 Overnet 會將權限視為個別物件的類型,以減少可透過傳輸格式進行通訊的內容空間。系統會一律假設轉移權利。

名稱說明
1
2

EventPairRights 嚴格

類型:uint32

定義於 fuchsia.overnet.protocol/zircon_proxy.fidl

事件配對權限。Overnet 會將權限視為個別物件的類型,以減少可透過傳輸格式進行通訊的內容空間。系統會一律假設轉移權利。

名稱說明
2147483648

信號嚴格

類型:uint32

定義於 fuchsia.overnet.protocol/zircon_proxy.fidl

可傳播的信號。這些 Pod 經過刻意挑選和 Zircon 中定義的位元不同,藉此強制存在對應程式碼,並盡可能降低 Zircon ABI 意外成為 Overnet 通訊協定的機率。

名稱說明
1
2
4
8
16
32
64
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]

將串流端點從一個節點移至另一個節點時,會使用移轉金鑰。它會識別單筆傳輸,因此不得重複,因此,傳輸結束時應捨棄。