PROTOCOLS
InspectSink
在 fuchsia.inspect/inspect_sink.fidl 中定义
第三方托管
指示服务器存储提供的 VMO 以生成其数据 即使发布 这个 VMO 没有运行
这是在与组件框架的 通过 Escrow API 启用在闲置时停止的功能,但仍可确保一些操作 能够获得实用的诊断信息
客户端必须提供 token
,并将其用作
分配给此 VMO。该令牌是一个事件对,
客户端必须提供此事件对的一端,并靠近另一端
(或使用组件 API 托管句柄)。如果服务器发现
PEER_CLOSED 后,它会丢弃关联的 VMO
这个词元。
如果没有传递任何必需的参数,则连接将 已关闭。
如需详细了解如何停止 IDLE 组件,请参阅: https://fuchsia.dev/fuchsia-src/development/components/stop_idle
请求
名称 | 类型 |
---|---|
payload |
InspectSinkEscrowRequest
|
FetchEscrow
指示服务器返回(并停止跟踪)关联的 VMO 相应的令牌。
这适用于组件重启并想要提取 检查它托管的数据。
如需详细了解如何停止 IDLE 组件,请参阅: https://fuchsia.dev/fuchsia-src/development/components/stop_idle
请求
名称 | 类型 |
---|---|
payload |
InspectSinkFetchEscrowRequest
|
响应
名称 | 类型 |
---|---|
payload |
InspectSink_FetchEscrow_Result
|
发布
向 fuchsia.inspect.Tree
协议发布句柄,
服务器可用来读取 Inspect 数据,包括延迟节点。
请求
名称 | 类型 |
---|---|
payload |
InspectSinkPublishRequest
|
树木花粉
在 fuchsia.inspect/tree.fidl 中定义
树协议表示检查 VMO 的层次结构。
存储在 Inspect 文件中的链接值包含对新 包含整体数据的延续的已命名文件 层级结构。协议树允许客户端请求这些已命名的文件, 只要托管组件仍处于活动状态
连接到特定树可保留该树居住者的内容 内存中。建议客户端优先遍历树 减少内存用量服务组件可以随意拒绝 避免无限的内存用量
GetContent
获取支持此树的 Inspect VMO 的内容。
只要树连接仍处于维护状态,内容 以确保仍处于活动状态。建立连接后, 服务组件可以随意清除返回的 共享缓冲区。
服务组件可能会向 GetContent 返回不同的缓冲区 对同一树的多次请求。
请求
<空>
响应
名称 | 类型 |
---|---|
content |
TreeContent
|
ListChildNames
迭代作为此树的子树的名称。
在多次调用之间,底层的子项列表可能会发生变化 ListChildNames 和 OpenChild。
请求
名称 | 类型 |
---|---|
tree_iterator |
server_end<TreeNameIterator>
|
OpenChild
按名称打开一个子树。
如果无法打开子级,则会关闭给定请求。
请求
名称 | 类型 |
---|---|
child_name |
TreeName
|
tree |
server_end<Tree>
|
TreeNameIterator
在 fuchsia.inspect/tree.fidl 中定义
用于列出特定树的子级名称的迭代器协议。
GetNext
获取下一批名称。
返回一个空矢量,在没有其他名称时关闭通道。 实现人员可能会在发送最后一批数据后尽快关闭该通道。
请求
<空>
响应
名称 | 类型 |
---|---|
name |
vector<string>
|
结构体
EscrowToken 资源
在 fuchsia.inspect/inspect_sink.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
token |
handle<eventpair>
|
无默认设置 |
表
InspectSinkEscrowRequest 资源
在 fuchsia.inspect/inspect_sink.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
vmo |
EscrowedVmo
|
包含服务器将存储的检查数据的 VMO。 必填 |
2 |
token |
EscrowToken
|
标识此 VMO 的令牌,也充当控制器 停止在服务器中存储此 VMO。 必填 |
3 |
name |
string[4096]
|
用于标识此 VMO 的可选名称,直观易读。 可选 |
4 |
tree |
zx/Koid
|
可选的对之前提供给
使用
如果未提供 如果服务器未跟踪与来源关联的任何句柄 组件包含该 koid,则会被忽略,并将其视为 没有提供任何资源。 可选 |
InspectSinkFetchEscrowRequest 资源
在 fuchsia.inspect/inspect_sink.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
token |
EscrowToken
|
与我们要提取的 VMO 数据相关联的令牌。如果 令牌未与任何 VMO 关联,则响应将为空。 必填 |
2 |
tree |
Tree
|
一个句柄,可供服务器继续读取关联的数据
这个 VMO组件之前指定的名称
此 VMO 将被保留。这相当于调用
将 可选 |
InspectSinkPublishRequest 资源
在 fuchsia.inspect/inspect_sink.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
tree |
Tree
|
服务器将用于提取 Inspect 数据的树。 如果未提供,连接将关闭。 必填 |
2 |
name |
string[4096]
|
用于从客户端角度标识此树的名称。此名称 不需要在多个树中是唯一的。多棵树 我们接受以相同名称发布的内容,且不会覆盖 之前发布的树。 可选 |
InspectSink_FetchEscrow_Response 资源
在 fuchsia.inspect/inspect_sink.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
vmo |
EscrowedVmo
|
TreeContent 资源
在 fuchsia.inspect/tree.fidl 中定义
特定检查树的内容。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
buffer |
fuchsia.mem/Buffer
|
包含树字节的缓冲区,采用 Inspect 格式。 |
联合体
InspectSink_FetchEscrow_Result 严格的资源
在 fuchsia.inspect/inspect_sink.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
InspectSink_FetchEscrow_Response
|
|
3 |
framework_err |
internal
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
DEFAULT_TREE_NAME | root |
String |
已添加:22
|
MAX_NAME_LENGTH |
4096
|
uint64 |
添加时间:16
|
MAX_TREE_NAME_LENGTH |
2040
|
uint64 |
检查树的最大长度,由格式指定。 |
别名
名称 | 值 | 说明 |
---|---|---|
EscrowedVmo |
zx/Handle |
添加时间:HEAD
|
TreeName |
string [MAX_TREE_NAME_LENGTH ] |