Use batched property updates in IVehicleHardware.
This CL demonstrates how IVehicleHardware layer can batch property update events for all continuous properties subscribed at the same interval. For example, previously, 4 areas for tire pressure, despite subscribed with the same interval, will generate 4 property update events through 4 binder calls. Since they are updated at the same time, all the 4 events can be sent through one binder call. Note that this is different from the batching done at DefaultVehicleHal side where the property events are put into a queue for batching. If IVehicleHardware layer can provides batching, then we can avoid the extra latency introduced by batching in DefaultVehicleHal layer. In order to achieve batching, this CL adds several functions to VehiclePropertyStore that operates on a list of values. Note that VehiclePropertyStore is still backward compatible with this CL, meaning that old APIs are not affected. But in order to achieve better performance, caller can migrate to the newer APIs. Test: atest FakeVehicleHardwareTest VehicleHalVehicleUtilsTest Bug: 314850840 Change-Id: I94a13d3ed2b90aede4d627f73ce2f2828bb3e740
Loading
Please register or sign in to comment