Xlang 实现指南
概览
本指南描述当前 xlang 运行时的所有权模型。该模型由参考 Java 运行时采用,并由 Dart 运行时重写版本镜像实现。
编码格式由 Xlang Serialization Spec 定义。本文关注的是服务边界、操作流程与内部所有权。新运行时不必使用相同的类名, 但应保持相同的控制流:
- 根级操作留在运行时门面上
- 嵌套载荷处理留在显式的读写上下文中
- 类型元信息留在类型解析层
- serializer 只关注载荷本身
如果本指南与编码格式规范冲突,应以
docs/specification/xlang_serialization_spec.md 为准;如果与某个语言运行时的实现细节冲突,则以该语言当前运行时代码为准。
事实来源
按以下顺序使用这些来源:
docs/specification/xlang_serialization_spec.md- 该语言当前的运行时实现
integration_tests/下的跨语言测试
对于 Dart,运行时形态主要围绕以下组件展开:
ForyWriteContextReadContextRefWriterRefReaderTypeResolverStructCodec