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 中定义

代理信道。

字段类型说明默认
rights ChannelRights

为此标识名指定的标识名。

无默认取景方式
stream_ref StreamRef

为传输此信道而创建的 Overnet 代理流。上述流的协议为 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 代理流。不会通过此数据流发送任何载荷,但传输和信号控制消息将按照适用于所有句柄类型的常规 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 中定义

代理套接字。

字段类型说明默认
rights SocketRights

为此标识名指定的标识名。

无默认取景方式
stream_ref StreamRef

为了传输此套接字而创建的 Overnet 代理流。上述流的协议为 ZirconSocket

无默认取景方式
socket_type SocketType

套接字选项(每个 zx_socket_create)。

无默认取景方式

StreamId

fuchsia.overnet.protocol/labels.fidl 中定义

标识网状网网格上两个进程之间的单个网网流。

字段类型说明默认
id uint64 无默认取景方式

TransferInitiator

fuchsia.overnet.protocol/peer_protocol.fidl 中定义

fuchsia.overnet.protocol/StreamRef.transfer_initiator 的正文。

字段类型说明默认
stream_id StreamId

此传输的排空流。来自旧代理端的缓冲消息将通过此单向 QUIC 流发送,并且应在处理来自新端点的任何消息之前进行处理。

无默认取景方式
new_destination_node NodeId

我们应与之联系的此代理的对等节点 ID。请注意,此节点可能是接收此消息的同一节点。

无默认取景方式
transfer_key TransferKey

用于标识此所有权转让的密钥。

无默认取景方式

TransferWaiter

fuchsia.overnet.protocol/peer_protocol.fidl 中定义

fuchsia.overnet.protocol/StreamRef.transfer_waiter 的正文。

字段类型说明默认
stream_id StreamId

此传输的排空流。来自旧代理端的缓冲消息将通过此单向 QUIC 流发送,并且应在处理来自新端点的任何消息之前进行处理。

无默认取景方式
transfer_key TransferKey

用于标识此所有权转让的密钥。

无默认取景方式

ZirconChannelMessage

fuchsia.overnet.protocol/zircon_proxy.fidl 中定义

通过 Overnet 流从 Zircon 频道代理的单条消息。

字段类型说明默认
bytes vector<uint8>[65536]

载荷的字节部分。

无默认取景方式
handles vector<ZirconHandle>[64]

处理部分载荷。

无默认取景方式

枚举

SocketType 严格

类型:uint32

fuchsia.overnet.protocol/zircon_proxy.fidl 中定义

通过 fuchsia.overnet.protocol/SocketHandle 传递的套接字类型。

名称说明
0

面向数据报的套接字。

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 将此 xunion 发送到服务器。

序数变体类型说明
connect_to_service ConnectToService

请求为此对等方导出的服务创建渠道。

update_node_description PeerDescription

在服务器上更新此对等方说明。

open_transfer OpenTransfer

打开转移的数据流。

PeerReply 严格

fuchsia.overnet.protocol/peer_protocol.fidl 中定义

在适当的情况下,回复 PeerMessage 的消息。 ConfigResponse 消息必须已发送。

序数变体类型说明

StreamControl 严格

fuchsia.overnet.protocol/peer_protocol.fidl 中定义

流控制消息:如果帧类型为 1 (StreamControl),则发送,而不是通常的流帧。 TODO:还可以考虑使用 FIDL 定义数据流分帧格式。

序数变体类型说明
begin_transfer BeginTransfer

转移开始:发送节点想要转移控制权。

ack_transfer Empty

确认 begin_transfer - 发送者看到了之前发送的 begin_transfer,并对其作出响应。这应该是常规流中发送的最后一条消息。

end_transfer Empty

结束传输 - 表示排空流已完成排空。这应该是排空流中发送的最后一条消息。

shutdown zx/Status

以某种状态关闭数据流。

StreamRef 严格

fuchsia.overnet.protocol/peer_protocol.fidl 中定义

StreamRef 标识新的代理流,并详细说明了该数据流将如何进入接收节点上。

序数变体类型说明
creating StreamId

正在创建新的代理,代理的另一端位于发送节点上。这种情况比较简单,我们只提供用于传输流量的 QUIC 流 ID。

transfer_initiator TransferInitiator

正在将一个现有代理转移到此节点。此节点应启动与对等端的通信。

transfer_waiter TransferWaiter

正在将一个现有代理转移到此节点。此节点应等待对等设备联系。

ZirconHandle 严格

fuchsia.overnet.protocol/zircon_proxy.fidl 中定义

要代理的单个句柄。 并非所有 Zircon 类型都受支持。

序数变体类型说明
channel ChannelHandle

代理信道。

socket SocketHandle

代理套接字。

event_pair EventPairHandle

代理事件对。

BITS

ChannelRights 严格

类型:uint32

fuchsia.overnet.protocol/zircon_proxy.fidl 中定义

频道权限。 Overnet 将权限视为对象类型,以减少可通过其传输格式传达的内容空间。系统始终假定存在转移权。

名称说明
1
2

EventPairRights 严格

类型:uint32

fuchsia.overnet.protocol/zircon_proxy.fidl 中定义

EventPair 权限。 Overnet 将权限视为对象类型,以减少可通过其传输格式传达的内容空间。系统始终假定存在转移权。

名称说明
2147483648

信号严格

类型:uint32

fuchsia.overnet.protocol/zircon_proxy.fidl 中定义

可传播的信号。 系统会特意选择与 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]

将流端点从一个节点移动到另一个节点时会使用传输密钥。它用于标识单个传输,应该是唯一的(因此,由随机字节组成),并且应在传输结束时被舍弃。