Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inventory deserialization : reconstruct items with properties in one shot (per item) #2206

Closed
dkodihal opened this issue Aug 24, 2017 · 1 comment
Assignees

Comments

@dkodihal
Copy link
Contributor

dkodihal commented Aug 24, 2017

Story #957 is introducing inventory persistence. Cereal is used for serialization of inventory properties.

The code for #957, in the deserialize path, default constructs inventory items and then deserializes inventory properties onto the items. This is because Cereal requires a constructed type reference to deserialize onto. This results in both d-bus InterfacesAdded and PropertiesChanged (several) signals to be emitted for each time. The properties will change because initially they were default and then the deserialzation restored them. Such signalling can adversely impact apps interested in the signals.

Talked to @williamspatrick and @bradbishop about this today - a possible solution that was discussed was to deserialize onto a templatised holder object, which holds a map of properties for the template type (which would be the sdbusplus binding type). Post that, the actual sdbsplus binding type can be constructed. This story is to implement such a solution.

@rfrandse
Copy link

moved to ibm-openbmc/dev#124

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants