本页提供了在“FIDL”区域浏览 RFC 的起点。它以各种方式整理这些附件,并提供每个清单的更新状态,方便读者快速了解 FIDL 的历史信息和当前发展方向。
以前,这些设计文档称为 FTP 或 FIDL 调整提案。FTP 流程后来又合并为 RFC 流程。由于 FTP 重新编号为 RFC 的方式,因此 RFC 编号并不暗示年表。但是,此页面上每个列表都会按时间顺序显示 RFC:对于从 FTP 转换后的 RFC 而言,系统会按提交日期来显示 RFC,对于所有之后的 RFC,系统会按审核日期来显示。
按主题
本部分按主题整理 FIDL RFC。每个 RFC 会在其主要主题下列出一次,即使涉及多个主题也是如此。
治理
发展性
- RFC-0047:表
- (遭拒)RFC-0063:OrdinalRange
- RFC-0058:引入已弃用的属性
- RFC-0061:可扩展联合体
- RFC-0020:接口序数哈希
- RFC-0021:添加和移除方法的软转换
- RFC-0033:未知字段和严格程度的处理
- RFC-0029:增加方法序数
- RFC-0037:事务性邮件标头 v3
- RFC-0024:强制性源代码兼容性
- RFC-0040:标识符唯一性
- RFC-0048:显式并集序数
- RFC-0083:FIDL 版本控制
- (遭拒)RFC-0116:为稀疏 FIDL 表提供线格式支持
- RFC-0132:FIDL 表大小限制
- RFC-0138:处理未知交互
表现力
- RFC-0019:使用 using
- RFC-0022:结构体成员的默认值
- RFC-0066:程序员公告明确默认设置
- (已拒绝)RFC-0065:无可选字符串或矢量
- (遭拒)RFC-0064: Box<Knox>
- RFC-0023:协议的组合模型
- (遭拒)RFC-0042:不可为 null 的类型
- RFC-0041:支持统一服务和设备
- (遭拒)RFC-0044:可扩展方法参数
- RFC-0054:参数属性
- RFC-0052:类型别名和新类型
- RFC-0137:舍弃 FIDL 中的未知数据
- RFC-0160:取消对 FIDL 结构默认值的支持
语法
- (遭拒)RFC-0036:对结构体声明的更新
- (遭拒)RFC-0038:将布局与约束条件分离
- (遭拒)RFC-0039:类型排在第二位
- RFC-0050:语法改进
- RFC-0086:RFC-0050:FIDL 属性语法更新
- (遭拒)RFC-0088:RFC-0050 更新:FIDL 位、枚举和限制条件语法
- RFC-0087:RFC-0050 更新:FIDL 方法参数语法
工效学设计
- RFC-0053:墓碑
- RFC-0056:空结构体
- RFC-0060:错误处理
- RFC-0025:位标志
- (遭拒)RFC-0031:类型化署名
- RFC-0057:默认无标识名
- RFC-0196:FIDL 大型邮件
域
性能
- (遭拒)RFC-0045:大小为零的空结构体
- (已拒绝)RFC-0026: 信包无处
- RFC-0027:您只需为实际用量付费
- (遭拒)RFC-0032:高效信封
- (已拒绝)RFC-0035:自动流跟踪
- RFC-0113:高效信封
- RFC-0114:在 FIDL 信封中内嵌较小的值
- RFC-0149:FIDL 编码验证不是必需的
安全保障
工具
文档
简化设计空间
按语言功能
本部分列出了以 FIDL 语言轻松查看的新功能的 RFC。它仅包含当前功能,而不包含过时的功能。
功能 | RFC | 备注 |
---|---|---|
table |
RFC-0047 | 向前和向后兼容的数据类型 |
/// |
RFC-0055 | 文档注释 |
struct Empty {}; |
RFC-0056 | 空结构体 |
error |
RFC-0060 | 方法错误结果语法 |
union |
RFC-0061 | 最初称为 xunion ,替换了旧的静态联合体 |
@selector |
RFC-0020 | 使用显式选择器替换方法哈希处理 |
@transitional |
RFC-0021 | 用于软转换方法添加/移除的属性 |
compose |
RFC-0023 | 将 interface 重命名为 protocol ,添加了 compose 功能 |
bits |
RFC-0025 | 位标志类型 |
strict 、flexible |
RFC-0033 | 严格和灵活的类型 |
标识名权利 | RFC-0028 | 对所需或排除的标识名权利进行注释 |
service |
RFC-0041 | Service 是协议的集合, |
alias 、type |
RFC-0052 | 已将 using 个别名替换为 alias 和 type |
resource |
RFC-0057 | 值和资源类型 |
匿名布局 | RFC-0050 | 内嵌类型定义,在上下文中命名或使用 @generated_name |
@available |
RFC-0083 | 版本注释 |
Method(table { ... }) |
RFC-0087 | 使用表和联合作为顶级请求/响应类型 |
open 、closed 、ajar |
RFC-0138 | 开放和封闭式互动 |
当前状态
本部分提供了所有 FIDL RFC 的当前状态。
图例:
状态 | 含义 |
---|---|
已取消发布 | 从未公开或未经过正式审核 |
已取消 | 设为公开,但从未正式审核 |
审核中 | 已设为公开,待审核 |
已实施 | 已接受、已实施,但仍准确 |
已部分实现 | 已接受且部分实施,没有完成的计划 |
实施中 | 已接受,正在实施 |
已修正 | 已接受,仍然基本上准确,但有后续 RFC 进行了修订 |
已取代 | 已接受但不再准确,已被后续的 RFC 取代 |
已拒绝 | 正式拒绝 |
RFC | 标题 | 状态 |
---|---|---|
RFC-0018 | FTP 流程:一般方案 | 已被 RFC-0017 取代 |
RFC-0019 | 使用“ | 已被 RFC-0052 取代 |
RFC-0022 | 结构体成员的默认值 | 已被 RFC-0160 取代 |
RFC-0051 | 更安全的 C++ 结构体 | 已拒绝 |
RFC-0062 | 方法不可行 | 已拒绝 |
RFC-0053 | 墓碑 | 实施时间: |
RFC-0066 | 程序员公告明确默认设置 | 已实施 |
RFC-0047 | 表格 | 修订者:RFC-0116、RFC-0132 |
RFC-0055 | 文档注释 | 修订者:RFC-0043 |
RFC-0063 | OrdinalRange | 已遭拒;已被 RFC-0020 取代 |
– | 以 FIDL 编写的 FIDL | 未发布;协议缓冲区可以执行此操作 |
RFC-0056 | 空结构体 | 已实施 |
RFC-0058 | 引入已废弃的属性 | 已被 RFC-0083 取代 |
RFC-0060 | 错误处理 | 已实施 |
RFC-0061 | 可扩展联合体 | 已实施 |
RFC-0065 | 没有可选的字符串或矢量 | 已拒绝 |
RFC-0064 | Box<Knox> | 已遭拒;另请参阅“FIDL 大消息支持” |
– | 序列 | 未发布;“信息流”的早期版本 |
– | 信息流 | 未发布;另请参阅测量带 |
RFC-0020 | 接口序数哈希 | 已实施 |
RFC-0021 | 用于添加和移除方法的软转换 | 已实施 |
RFC-0023 | 协议的组合模型 | 已实施 |
RFC-0045 | 大小为零的空结构体 | 已拒绝 |
RFC-0025 | 位标志 | 已实施 |
RFC-0026 | 信封无处不在 | 已拒绝 |
RFC-0027 | 您只需要按照实际用量付费 | 已实施 |
RFC-0030 | FIDL 是小端字节序 | 已实施 |
RFC-0031 | 刻字书 | 已拒绝 |
RFC-0032 | 高效信封 | 已遭拒;已被 RFC-0113 取代 |
RFC-0033 | 未知字段和严格程度的处理 | 修订者:RFC-0137 |
RFC-0034 | Null 终止字符串 | 已拒绝 |
RFC-0029 | 递增方法序数 | 已被 RFC-0037 取代 |
RFC-0035 | 自动流跟踪 | 已拒绝 |
RFC-0036 | 结构体声明更新 | 已拒绝 |
RFC-0037 | 事务性消息标头 v3 | 已实施 |
RFC-0038 | 将布局与约束条件分离 | 已遭拒;已被 RFC-0050 取代 |
RFC-0039 | 类型排在第二位 | 已遭拒;已被 RFC-0050 取代 |
RFC-0028 | 处理权限 | 已实施 |
RFC-0042 | 不可为 null 的类型 | 已拒绝(愚人节) |
RFC-0024 | 必需的源代码兼容性 | 已实施 |
RFC-0040 | 标识符唯一性 | 已实施(最初遭拒,后来被接受) |
RFC-0041 | 支持统一服务和设备 | 部分实现:仅在 C++ 和 Rust 中实现 |
RFC-0044 | 可扩展的方法参数 | 已遭拒;已被 RFC-0087 取代 |
RFC-0043 | 文档注释格式 | 已实施 |
– | 版本控制 | 未发布;已被 RFC-0083 取代 |
– | 必需的表字段 | 已取消发布 |
RFC-0048 | 显式并集序数 | 已实施 |
RFC-0049 | FIDL 调参过程演变 | 已被 RFC-0017 取代 |
– | 可选统一视图 | 已取消发布 |
– | 迭代器 | 未发布;另请参阅测量带 |
RFC-0054 | 参数属性 | 已被 RFC-0050 取代 |
RFC-0052 | 类型别名和新类型 | 正在实施 |
– | 限制非数字浮点值 | 已取消发布 |
– | 常量表达式 | 已取消发布 |
RFC-0057 | 默认无标识名 | 已实施 |
RFC-0050 | 语法改进 | 修订者:RFC-0086、RFC-0087 |
– | FIDL 文本格式 | 已取消发布 |
RFC-0059 | 向量、字符串和数组计数字段中的保留位 | 已实现; LLCPP 不再使用保留位 |
RFC-0017 | FTP 流程现已终止,RFC 流程万岁! | 已实施 |
– | FIDL 大消息支持 | 已撤消;已被 RFC-0196 取代 |
RFC-0076 | FIDL API 摘要 | 已实施 |
RFC-0083 | FIDL 版本控制 | 正在实施 |
RFC-0086 | RFC-0050:FIDL 属性语法更新 | 已实施 |
RFC-0088 | RFC-0050 更新:FIDL 位、枚举和约束语法 | 已拒绝 |
RFC-0087 | RFC-0050 更新:FIDL 方法参数语法 | 正在实施 |
RFC-0097 | FIDL 工具链 | 正在实施 |
RFC-0113 | 高效信封 | 已实施 |
RFC-0114 | 在 FIDL 信封中内嵌较小的值 | 已实施 |
RFC-0116 | 为稀疏 FIDL 表提供线格式支持 | 已拒绝 |
RFC-0120 | 单独使用 FIDL 有线格式 | 正在实施 |
RFC-0131 | FIDL 传输格式的设计原则 | 已实施 |
RFC-0132 | FIDL 表大小限制 | 已实施 |
RFC-0137 | 舍弃 FIDL 中的未知数据 | 正在实施 |
RFC-0138 | 处理未知交互 | 正在实施 |
RFC-0149 | FIDL 编码验证不是必需的 | 已实施 |
RFC-0160 | 取消了对 FIDL 结构体默认值的支持 | 已实施 |
RFC-0190 | 对系统调用的 FIDL 支持 | 正在实施 |
RFC-0196 | FIDL 大型消息 | 正在实施 |
– | FIDL 的 JSON 表示法 | 审核中 |
– | FIDL 复杂常量 | 审核中 |
– | FIDL 语言支持计划 | 审核中 |
– | 航站楼事件 | 审核中 |