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.