tracingplane-java
tracingplane-java copied to clipboard
Make all struct variables optional
All variables should be optional in a struct
Also add 'one of' to structs
To enable structs to have optional values, and still be lexicographically comparable, 'not present' is lexicographically less than 'any value'; the optional flag must therefore precede each variable as opposed to a single block of flags at the start of the struct.
This would be quite expensive as it entails an extra byte per field.
Ideally, we'd have really nice encoding that figures this out. But we don't. Do this at some point.