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
FileDescriptorSetche 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.
- Definizione dei metadati:descrive il tuo editore, incluso il nome
e il protobuf
- 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.mdEsempio Java:
samples/telemetry/publishers/java/sample_ivi_sdk_publisher/README.mdLibreria Rust:
system/software_defined_vehicle/telemetry/sdk/rust/configurable_publisher_registry/README.mdEsempio di Rust:
samples/telemetry/publishers/rust/sample_getter_publisher/README.md