Data aggregation and missing data

The data in FIX messages can be unordered and many FIX fields in a message are optional. The RDS format does not support optional values. Thus, it may be necessary to perform the following steps before invoking the Publisher API to send data:

  1. Iterate over the available message and fill in a data structure representing the required data.

  2. If, after processing, the FIX message does not contain sufficient data, log an error.

  3. If the message contains enough data, then call the Publisher API to begin processing the correct RDS message, set the field data, and then send the message.

These steps should be performed on a per-instrument basis for FIX messages that support multiple instruments. For FIX messages that support multiple destination RDS messages for a single instrument, it may be necessary to aggregate data for multiple RDS messages concurrently, since the FIX data for the different RDS messages may be interleaved.