The Directory’s DirectoryInfo FilterEntry (refer to Section 4.3.1.1) includes two elements related to Dictionaries: DictionariesProvided and DictionariesUsed. Both elements contain an Array of ASCII dictionary names. These names can be used in Name to request the dictionaries.
To dynamically discover dictionaries while minimizing the amount of data downloaded:
1. Parse the DictionariesUsed from each desired service in the Directory.
2. Parse the DictionariesProvided from every service in the Directory.
3. Make a streaming request for any Dictionary from DictionariesProvided that is required to process or encode content.
NOTE: DictionariesUsed lists dictionaries that might be helpful or needed to encode, decode, cache, or display content from the dictionary provider; any additional dictionaries in this list might be acquired independently.
4. For each Dictionary response, parse the summaryData in the payload to obtain the dictionary’s Type and Version.
• If a dictionary is of an unneeded type, that dictionary stream can be closed.
• If a dictionary is needed, a reissue request can be made where the Filter requests a higher verbosity (e.g. DICTIONARY_NORMAL).
• Version information can be used to determine if the consumer needs to update its dictionary.