Библиотека Configurable Publisher Registry позволяет создавать пользовательские издатели телеметрии и регистрировать их в службе телеметрии через Configurable Publisher Registry . Библиотека абстрагирует базовый интерфейс Binder, а также сериализацию и десериализацию данных.
Обзор поверхности API
Библиотека предоставляет языковые интерфейсы на Java и Rust для взаимодействия с базовым конфигурируемым реестром издателей. Библиотека отвечает за следующие области:
- Определение издателя: Предоставляет базовые классы в Java или трейты в Rust для определения поведения издателя.
- Определение метаданных: описывает вашего издателя, включая его имя и
FileDescriptorSetprotobuf, определяющий публикуемые сообщения. Для получения дополнительной информации см. раздел «Самоописывающиеся сообщения» . Если вы используете Java, инструмент генерации дескрипторов protobuf для Java поможет вам сгенерировать метаданные дескриптора protobuf. - Создание данных: обрабатывает логику создания данных на основе подписки или по запросу.
- Обработка конфигурации: обрабатывает необязательные аргументы конфигурации, заданные в рамках кампании по сбору метрик, при формировании данных.
- Определение метаданных: описывает вашего издателя, включая его имя и
- Кодирование и декодирование данных: Предоставляет механизмы для преобразования сообщений и конфигураций в формат передачи данных и обратно.
- Кодеки: Включает встроенные и пользовательские кодеки для сериализации и десериализации данных.
- Регистрация и жизненный цикл издателя: управляет связью между издателем и службой телеметрии.
Подробные примеры и полные, компилируемые приложения, демонстрирующие полный жизненный цикл, см. в соответствующих файлах README.md в исходном коде:
Библиотека Java:
system/software_defined_vehicle/telemetry/sdk/java/configurable_publisher_registry/README.mdПример на Java:
samples/telemetry/publishers/java/sample_ivi_sdk_publisher/README.mdБиблиотека Rust:
system/software_defined_vehicle/telemetry/sdk/rust/configurable_publisher_registry/README.mdПример кода на Rust:
samples/telemetry/publishers/rust/sample_getter_publisher/README.md