FieldAttribute
Defined in header “ark/serialization/schema.hh”.
This is a bitmask containing various attributes that could be set for fields.
Values
-
NONE = 0
Empty bitmask. -
REMOVED = 1
If this field is considered “removed” or not. -
PACKED_TIMESPEC = 2
If this field should be treated as a ‘packed timespec’ timestamp (only applies to timestamps). -
OPTIONAL = 4
If this field should be considered “optional” or not. Optional fields may be wrapped in additional generated code (such as std::optional) and are encoded slightly differently on the wire (typically much more compact if the object is not present). -
CONSTANT = 8
If this field should be considered constant or not. Constant fields have the value stored as a string in the schema itself not in the individual messages.