Imported from previous forum
In “A Basic User’s Guide to Implementing FAST” it says that:
“Fields which are consistently Copy Coded away should be placed at the end of the template in order to reduce the size of the presence map. Fields which are no longer physically present in a message can be dropped from the presence map if they are placed at the end of the template.”
Can this defintion be further clarified? Is the same information available in other parts of the specification? Most importantly what is “Copy Coded away”?
please find my comments below
/Rolf
In “A Basic User’s Guide to Implementing FAST” it says that:
"Fields which are consistently Copy Coded away should be placed
at the end of the template in order to reduce the size of the
presence map.
This sentence is about empty (all zero bit) bytes at the tail
(end of) a pmap. The standard allows (and actually mandates)
that empty pmap tail bytes should not be transferred. It is up
to the receiver to interpret missing bits as zero bits.
Fields which are no longer physically present in a message can
be dropped from the presence map if they are placed at the end
of the template."Can this defintion be further clarified? Is the same information
available in other parts of the specification?
You’ll find similar language in the 1.1 spec.
Most importantly what is “Copy Coded away”?
“Copy coded away” is a commonly used expression for:
“A field value that is absent (from the wire representation)
because it is the same as the previous value and the operator
for the field is ‘copy’”
reading my own post a second time I’m not sure if we accept
overlong pmaps? So, “mandates” → “suggests”?
David, how do you read the current spec on overlong pmaps?
/Rolf
The standard allows (and actually mandates) that empty pmap tail
bytes should not be transferred.
From section 10.5 in the spec:
“A presence map is overlong if it has more than seven bits and ends in seven or more bits that are all zero. It is a reportable error [ERR R7] if a presence map is overlong. It is a reportable error [ERR R8] if a presence map contains more bits than required by the instructions that utilize it.”
This means that an encoder must not produce overlong presence maps. A decoder may choose to report an error on overlong presence maps or silently ignore them.
/David
reading my own post a second time I’m not sure if we accept overlong
pmaps? So, “mandates” → “suggests”?David, how do you read the current spec on overlong pmaps?
/Rolf
The standard allows (and actually mandates) that empty pmap tail bytes
should not be transferred.
The semantics of the copy operator are defined in section 6.3.5 of the 1.1. spec. See also 6.3.1 and 6.3.2 for common operator definitions.
/David
You’ll find similar language in the 1.1 spec.
Most importantly what is “Copy Coded away”?
“Copy coded away” is a commonly used expression for:
“A field value that is absent (from the wire representation) because
it is the same as the previous value and the operator for the field
is ‘copy’”