You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: