[PATCH 14/17] layouts: add autoupdate of entities KVs based on inheritance relationships
layouts plugins inheritances among entities KVs like KEYSPEC_UPDATE_CHILDREN_SUM (see layouts_mgr.h) are now fully managed by the layouts manager. An extra third stage is added while loading the configuration and state informations during startup in order to automatically update the layouts entities KVs based on the relationships defined in the plugin among the keys. The third stage is executed right after the second one that is in charge of establishing the relations among the entities. When an update is performed using the API laouts_update_layout call, the autoupdate logic is also applied. Note that a layout plugin must explicitely ask for autoupdate support by the layouts manager using the autoupdate field of its layouts_plugin_spec_t internal structure 'plugin_spec'. layouts API calls using the push/pull logic also leverage the autoupdate mechanism. Note that for now, the autoupdate is "full" whenever it is called. Improvements should be considered in the future to improve the performance of the logic when possible, especially in push/pull contexts.
Please register or sign in to comment