Libreria del registro editori configurabile

La libreria Configurable Publisher Registry consente di creare publisher di telemetria personalizzati e registrarli con il servizio di telemetria tramite il Configurable Publisher Registry. La libreria astrae l'interfaccia Binder sottostante e la serializzazione e deserializzazione dei dati.

Panoramica della superficie API

La libreria fornisce interfacce specifiche per lingua in Java e Rust per interagire con il registro degli editori configurabile sottostante. La libreria è responsabile delle seguenti aree:

  • Definizione di publisher:fornisce classi base in Java o tratti in Rust per definire il comportamento di un publisher.
    • Definizione dei metadati:descrive il tuo editore, incluso il nome e il protobuf FileDescriptorSet che definisce i messaggi pubblicati. Per maggiori informazioni, consulta la sezione Messaggi autodescrittivi. Se utilizzi Java, lo strumento di generazione del descrittore protobuf Java può aiutarti a generare i metadati del descrittore protobuf.
    • Produzione dei dati:gestisce la logica per la produzione dei dati in base a un abbonamento o su richiesta.
    • Gestione della configurazione:elabora gli argomenti di configurazione facoltativi configurati da una campagna di metriche durante la produzione dei dati.
  • Codifica e decodifica dei dati: offre meccanismi per convertire messaggi e configurazioni da e verso il formato wire.
    • Codec:include codec integrati e personalizzati per la serializzazione e la deserializzazione dei dati.
  • Registrazione e ciclo di vita del publisher:gestisce la connessione tra il publisher e il servizio di telemetria.

Per esempi dettagliati e applicazioni complete e compilabili che dimostrano l'intero ciclo di vita, consulta i rispettivi file README.md nell'albero delle origini:

  • Libreria Java: system/software_defined_vehicle/telemetry/sdk/java/configurable_publisher_registry/README.md

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

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

  • Esempio di Rust: samples/telemetry/publishers/rust/sample_getter_publisher/README.md