pnoltes commented on PR #726:
URL: https://github.com/apache/celix/pull/726#issuecomment-1932686204

   > As mentioned in #612, the purpose of this netstring lib is to 
serialize/deserialize properties.
   > 
   > After reading netstring's spec([1]), I noticed that netstring is used to 
encoding byte string, for which we still lack an efficient in-memory 
representation like 
[ccan/bytestring](https://github.com/rustyrussell/ccan/tree/master/ccan/bytestring).
   > 
   > A second issue I found is related to our current efforts to add typing 
support to `celix_properties`: there is no typing support in netstring. This 
can be fixed by adopting "tagged netstrings" ([2]).
   > 
   > Then I have the third issue: by having a separate netstring library, 
what's the in memory representation of a tagged netstring? A bold thought turns 
up: what if we combine this nestring library into utils, and have 
`celix_array_list`, `celix_properties`, to-be-added `celix_bytestring`, and 
other types as the in memory representations of tagged netstrings?
   > 
   > I just record some thoughts here, which should not be viewed as anything 
like request for changes. But I do think the second issue is worth considering 
before merging this PR. @pnoltes @xuzhenbao
   > 
   > [1] https://cr.yp.to/proto/netstrings.txt [2] https://tnetstrings.info/
   
   tnetstring could be a nice fitting solution, but maybe we should also 
reconsider using JSON are serialization format? Downside is that we then make a 
JSON lib (i.e. jansson) a required lib for celix_utils and therefore 
celix_framework, but this will save some implementation effort. 


-- 
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