结构
缓冲区资源
在 fuchsia.mem/buffer.fidl 中定义
数据缓冲区,其大小不一定是页面大小的倍数。
已弃用:此类型是多余的,且已废弃。请避免使用 zx.Handle:VMO 对象,并将内容的大小存储在 ZX_PROP_VMO_CONTENT_SIZE 属性中。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
vmo |
handle<vmo>
|
包含缓冲区的 vmo。 |
无默认值 |
size |
uint64
|
缓冲区中的字节数。 缓冲区的内容从 VMO 的开头开始,并持续 此大小不得大于 VMO 的物理大小。 |
无默认值 |
范围资源
在 fuchsia.mem/range.fidl 中定义
VMO 中的字节范围。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
vmo |
handle<vmo>
|
包含字节的 vmo。 |
无默认值 |
offset |
uint64
|
该范围内第一个字节相对于 VMO 开头部分的偏移量。 例如,如果 |
无默认值 |
size |
uint64
|
范围内的字节数。 例如,如果偏移量为 3,大小为 2,并且 VMO 以“abcdefg...”开头,那么范围包含“de”。 偏移量和大小的总和不得大于 VMO 的物理大小。 |
无默认值 |
联合
数据灵活 资源
在 fuchsia.mem/buffer.fidl 中定义
可能内嵌存储在 VMO 中的二进制数据。
适用于对性能敏感的协议,此类协议有时会接收少量二进制数据(即使用 bytes
提供更高效的数据),但还需要支持任意数量的数据(即需要在 Buffer
中外行提供的数据)。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
bytes |
vector<uint8>
|
消息中内嵌提供的二进制数据。 |
2 |
buffer |
Buffer
|
在 |