xuzhenbao opened a new pull request, #782:
URL: https://github.com/apache/celix/pull/782

   This PR aims to add `celix_properties_t*` and `celix_array_list_t*` to the 
`dfi`. In addition, in order to reuse the serialization code of 
`celix_array_list_t`, this PR moves the serialization code of 
`celix_array_list_t` in `properties_encoding.c` to 
`celix_array_list_encoding.c`.
   
   There is an issue that needs to be discussed in the PR. When libdfi 
serializes `celix_properties_t` or `celix_array_list_t`, it will call 
`celix_properties_saveToString` or `celix_arrayList_saveToString` to convert 
them into a JSON representation string, and then convert the string into a 
JSON-object. (See the `jsonSerializer_writeProperties` function for specific 
code)
   There is a process of converting JSON-object to a string and then converting 
the string to a JSON-object, which may affect performance. If add a new 
interface `celix_properties_saveToJson(const celix_properties_t* properties, 
int encodeFlags, json_t** out)` to `celix_properties.h`, which directly 
converts `celix_properties_t` to a JSON-object, this can reduce the operation 
of converting JSON-object to a string. But it will make the `json_t` type part 
of the `Celix::utils` external interface.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@celix.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to