В чем преимущество переплетенного хидла по сравнению с сквозным прохождением? - PullRequest
0 голосов
/ 28 января 2019

В андроиде, в чем преимущество связанного hidl по сравнению с passthrough hidl?

Как я знаю, есть два пути hidl (связанный путь (клиент / сервер в отдельном процессе), сквозной путь (клиент / сервер втот же процесс). В чем преимущество связанного пути по сравнению с проходным?

Я думаю, что связующий путь имеет больше накладных расходов, чем сквозной, поскольку в связующем способе необходимо использовать связующую связь (RPC).

ПочемуПоставщик использует переплетный способ?

1 Ответ

0 голосов
/ 24 июля 2019

binderized означает, что ваша услуга предоставляется через /dev/hwbinder и размещается в отдельном процессе.Это позволяет ему иметь эксклюзивный доступ к аппаратному ресурсу и по-прежнему предлагать услугу нескольким клиентам одновременно.

passthrough означает, что ваша служба предоставляется через интерфейс C ++ в общей библиотеке.Обычно это означает, что только один клиент может связываться с ним, или услуга должна быть реализована таким образом, чтобы ей не требовался эксклюзивный доступ к оборудованию.Положительным моментом является то, что вы экономите накладные расходы на связь, используя Binder.

Обычно вы используете бинарные HAL, так как издержки Binder RPC действительно малы (меньше, чем в случае с Binder и AIDL).

Существует список HAL, которые должны быть реализованы в режиме сквозного доступа (по соображениям производительности), и список HAL, которые должны быть реализованы в режиме с разделением на блоки.

...