Bibliothèque de registre d'éditeur configurable

La bibliothèque Configurable Publisher Registry vous permet de créer des éditeurs de télémétrie personnalisés et de les enregistrer auprès du service de télémétrie via le registre d'éditeurs configurables. La bibliothèque abstrait l'interface Binder sous-jacente, ainsi que la sérialisation et la désérialisation des données.

Présentation de la surface d'API

La bibliothèque fournit des interfaces spécifiques aux langages Java et Rust pour interagir avec le registre des éditeurs configurables sous-jacent. La bibliothèque est responsable des domaines suivants :

  • Définition de l'éditeur : fournit des classes de base en Java ou des traits en Rust pour définir le comportement d'un éditeur.
    • Définition des métadonnées : décrit votre éditeur, y compris son nom et le FileDescriptorSet protobuf qui définit les messages publiés. Pour en savoir plus, consultez Messages autodescriptifs. Si vous utilisez Java, l'outil de génération de descripteurs protobuf Java peut vous aider à générer les métadonnées de descripteur protobuf.
    • Production de données : gère la logique de production de données sur la base d'un abonnement ou à la demande.
    • Gestion de la configuration : traite les arguments de configuration facultatifs configurés par une campagne axée sur les métriques lors de la production de données.
  • Encodage et décodage des données : offre des mécanismes permettant de convertir les messages et les configurations vers et depuis le format filaire.
    • Codecs : incluent les codecs intégrés et personnalisés pour la sérialisation et la désérialisation des données.
  • Enregistrement et cycle de vie de l'éditeur : gère la connexion entre l'éditeur et le service de télémétrie.

Pour obtenir des exemples détaillés et des applications complètes et compilables illustrant l'intégralité du cycle de vie, consultez les fichiers README.md respectifs dans l'arborescence source :

  • Bibliothèque Java : system/software_defined_vehicle/telemetry/sdk/java/configurable_publisher_registry/README.md

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

  • Bibliothèque Rust :system/software_defined_vehicle/telemetry/sdk/rust/configurable_publisher_registry/README.md

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