I'm using ETA C API in Linux.
Here are some background information on my application and information I received from Reuters tech support assigned for my project regarding the EaaS site.
- My application will be connecting to multiple ADSs hosted at multiple EaaS sites.
- There is a chance that data dictionaries in different EaaS sites may be different as data dictionary upgrades may be scheduled during different maintenance windows in different EaaS sites.
- For data dictionary updates, EaaS always re-starts ADS process.
I would like to get recommendation on the following options:
1. Use one data dictionary to decode data from ADS in different data center. I’m planning to use the data dictionary downloaded from the first connections and reuse it across connections. Download data dictionary only when the ADS where I have open subscription gets restarted.
- Would it be safe to use old dictionary in case market price updates with new FIDs arrives from other ADS connections ?
- I see the following code accesses dictionary by offset of the FID. I’m concerned if the FID will access the array creating out of bounds exception.
dictionaryEntry = dictionary->entriesArray[fEntry->fieldId];
- Is there any way to skip lookup of new FIDs that are not in dictionary by checking against the size of dictionary ?
2. Download data dictionaries from all connections (provided I make connection to different data center)
- Would it be safe to maintain per connection data dictionary , use the latest version, and update if new version is downloaded after ADS re-start ?