Biblioteca de Publisher Registry configurable

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 FileDescriptorSet que 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.
  • 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.md

  • Muestra de Java: samples/telemetry/publishers/java/sample_ivi_sdk_publisher/README.md

  • Biblioteca de Rust: system/software_defined_vehicle/telemetry/sdk/rust/configurable_publisher_registry/README.md

  • Ejemplo de Rust: samples/telemetry/publishers/rust/sample_getter_publisher/README.md