Transfer decoding is the initial step that converts data from the FAST 7-bit binary format.
Note: The decoding process can take place on a field-by-field basis, de-serializing and rebuilding the decoded value for each field. Alternately, the decoding process may de-serialize the entire message and then make a second iteration over the message to rebuild the decoded values.
The FAST transfer format is a binary representation enhanced with the following attributes:
• Stop Bit - Each data byte contains a stop bit to indicate whether this is the last byte of a field. The stop bit is the seventh bit of the most significant byte. A stop bit set to 1 indicates the last byte of a field. A stop bit set to zero indicates this is not last byte of the field.
• Presence Map - The Presence Map occurs at the start of every message or repeating group and indicates the presence or absence of individual fields. The template specifies the type of transfer decoding to employ for each field in the message (i.e. string, integer, decimal, etc.).
WARNING: FAST does not support timestamps. CQG will convert the timestamp to an integer by removing punctuation from the UTC timestamp prior to encoding. The decoding application should convert the integer to the FIX UTC format after decoding. In addition, the timestamp header on the message packet should not be used for latency comparisons. The message needs to be decoded to determine the timestamp for updates.