借助 Configurable Publisher Registry 库,您可以创建自定义遥测 发布者,并通过 Configurable Publisher Registry向遥测服务注册这些发布者。该库可抽象出底层 Binder 接口以及数据序列化和反序列化。
API Surface 概览
该库在 Java 和 Rust 中提供了特定于语言的接口,用于与底层 Configurable Publisher Registry 进行交互。该库负责以下方面:
- 发布者定义 :在 Java 中提供基类,或在 Rust 中提供特征,以定义发布者的行为。
- 元数据定义 :描述您的发布者,包括其名称和定义已发布消息的 protobuf
FileDescriptorSet。如需了解详情,请参阅自描述消息。如果您使用 Java,Java protobuf 描述符生成器工具可以帮助 您生成 protobuf 描述符元数据。 - 数据生成 :处理按订阅或按需生成数据的逻辑。
- 配置处理 :在生成数据时处理指标广告系列配置的可选配置实参。
- 元数据定义 :描述您的发布者,包括其名称和定义已发布消息的 protobuf
- 数据编码和解码 :提供将消息和配置转换为网络格式以及从网络格式转换的机制。
- 编解码器 :包括用于数据序列化和反序列化的内置编解码器和自定义编解码器。
- 发布者注册和生命周期 :管理发布者与遥测服务之间的连接。
如需查看详细示例和完整的可编译应用(演示完整生命周期),请参阅源代码树中的相应 README.md 文件:
Java 库:
system/software_defined_vehicle/telemetry/sdk/java/configurable_publisher_registry/README.mdJava 示例:
samples/telemetry/publishers/java/sample_ivi_sdk_publisher/README.mdRust 库:
system/software_defined_vehicle/telemetry/sdk/rust/configurable_publisher_registry/README.mdRust 示例:
samples/telemetry/publishers/rust/sample_getter_publisher/README.md