tahu
tahu copied to clipboard
PropertySet and PropertySetList
The Sparkplug B Specification refers to the property set and property set list constants on page 42:
https://s3.amazonaws.com/cirrus-link-com/Sparkplug+Topic+Namespace+and+State+ManagementV2.1+Apendix++Payload+B+format.pdf
// Additional PropertyValue Types PropertySet = 20; PropertySetList = 21;
I see they are present in the Java implementation ... along with other things not even in the official spec unless I misunderstand: https://github.com/eclipse/tahu/blob/develop/java/core/src/main/java/org/eclipse/tahu/protobuf/SparkplugBProto.java#L125 I see it in JS too: https://github.com/eclipse/tahu/blob/develop/javascript/core/sparkplug-payload/lib/sparkplugbpayload.js#L100
But not in the C implementation (desired): https://github.com/eclipse/tahu/blob/develop/c/core/include/tahu.h#L76
Is the omission in the C implementation deliberate or the feature just too fresh?
The original implementation of Sparkplug was in Java, and most of the core developers still do their work their first. The C implementation has been a as-we-can effort, mostly by me. I was working through most-popular to less-popular features, and some things like Template and PropertySetList messages aren't fleshed out yet. They can still be handled by manually working with the appropriate structure from tahu.pb.h, but it's definitely not as easy.
And yes, sometimes things show up in the Java implementation on the development branch before they are in a fully approved specification document. The specification document lives in the eclipse/sparkplug repo and you will usually find explanations of new features in the development branch there.