Imported from previous forum
Hi, I just realized that the encoding specification of a “group” field is somewhat ambiguous: the group field may be flattened by the application but the group presence indicates that the corresponding bit in the parent group pmap.
Thus, if the encoder and decoder use an optional group, the pmap bit indicates that 1 or more of the group fields are present. However, if the group is flattened, then pmap setting is confusing.
Dimitry
Dimitry -
In terms of decoding the actual FAST message, there is no ambiguity. What you refer to is how the application message is populated with data from the decoded fields. This process is somewhat covered by the spec but is by no means fully detailed and only covers the most basic aspects. An implementation may handle the mapping from a template to the internal data model pretty much any way it likes. For example, if you have a group that is optional, but the application has flattened the group, then the individual fields in the application (at least logically) should all be optional, or you’ll potentially run into problems.
/David
Hi, I just realized that the encoding specification of a “group” field
is somewhat ambiguous: the group field may be flattened by the
application but the group presence indicates that the corresponding bit
in the parent group pmap.Thus, if the encoder and decoder use an optional group, the pmap bit
indicates that 1 or more of the group fields are present. However, if
the group is flattened, then pmap setting is confusing.Dimitry
David,
thanks, this makes sense.
Dimitry
Dimitry -
In terms of decoding the actual FAST message, there is no ambiguity.
What you refer to is how the application message is populated with
data from the decoded fields. This process is somewhat covered by
the spec but is by no means fully detailed and only covers the most
basic aspects. An implementation may handle the mapping from a
template to the internal data model pretty much any way it likes.
For example, if you have a group that is optional, but the
application has flattened the group, then the individual fields in
the application (at least logically) should all be optional, or
you’ll potentially run into problems./David
Hi, I just realized that the encoding specification of a “group” field
is somewhat ambiguous: the group field may be flattened by the
application but the group presence indicates that the corresponding
bit in the parent group pmap.Thus, if the encoder and decoder use an optional group, the pmap bit
indicates that 1 or more of the group fields are present. However, if
the group is flattened, then pmap setting is confusing.Dimitry