La biblioteca de Configurable Publisher Registry te permite crear publicadores de telemetría personalizados y registrarlos en el servicio de Telemetría a través de Configurable Publisher Registry. La biblioteca abstrae la interfaz de Binder subyacente y la serialización y deserialización de datos.
Descripción general de la superficie de la API
La biblioteca proporciona interfaces específicas del lenguaje en Java y Rust para interactuar con el registro de publicadores configurable subyacente. La biblioteca es responsable de las siguientes áreas:
- Definición de publicador: Proporciona clases base en Java o rasgos en Rust para definir el comportamiento de un publicador.
- Definición de metadatos: Describe tu publicador, incluido su nombre y el archivo .proto
FileDescriptorSetque define los mensajes publicados. Para obtener más información, consulta Mensajes autodescriptivos. Si usas Java, la herramienta de generación de descriptores de Protobuf en Java puede ayudarte a generar los metadatos del descriptor de Protobuf. - Producción de datos: Controla la lógica para producir datos por suscripción o a pedido.
- Control de la configuración: Procesa argumentos de configuración opcionales que establece una campaña de métricas cuando genera datos.
- Definición de metadatos: Describe tu publicador, incluido su nombre y el archivo .proto
- Codificación y decodificación de datos: Ofrece mecanismos para convertir mensajes y configuraciones al formato de transferencia y desde él.
- Códecs: Incluye códecs integrados y personalizados para la serialización y deserialización de datos.
- Registro y ciclo de vida del publicador: Administra la conexión entre el publicador y el servicio de Telemetría.
Para obtener muestras detalladas y aplicaciones completas y compilables que demuestren el ciclo de vida completo, consulta los archivos README.md respectivos en el árbol de origen:
Biblioteca de Java:
system/software_defined_vehicle/telemetry/sdk/java/configurable_publisher_registry/README.mdMuestra de Java:
samples/telemetry/publishers/java/sample_ivi_sdk_publisher/README.mdBiblioteca de Rust:
system/software_defined_vehicle/telemetry/sdk/rust/configurable_publisher_registry/README.mdEjemplo de Rust:
samples/telemetry/publishers/rust/sample_getter_publisher/README.md