FieldEnty order guarantees
Is there any guarantees about field entries order?
Given response
FieldList
FieldEntry fid="25" name="ASK" dataType="Real" value="67.7"
FieldEntry fid="31" name="ASKSIZE" dataType="Real" value="200.0"
FieldEntry fid="3435" name="MMID" dataType="Rmtes" value="ARCA"
FieldEntry fid="8464" name="ASK_TONE1" dataType="Rmtes" value="A"
Can I be 100% sure that 31 always comes after 25 or response can contain entries without any order?
FieldList
FieldEntry fid="8464" name="ASK_TONE1" dataType="Rmtes" value="A"
FieldEntry fid="31" name="ASKSIZE" dataType="Real" value="200.0"
FieldEntry fid="25" name="ASK" dataType="Real" value="67.7"
FieldEntry fid="3435" name="MMID" dataType="Rmtes" value="ARCA"
Best Answer
-
I have never an read or come across mention of a guarantee about field order entries.
I suspect it may depend on the behaviour of the provider you are connected to (remember that if your consumer app connects to the ADS, then the ADS is provider as far as your consumer is concerned)
I tried a quick test here with a Provider (connected to an ADH), using a simple record with 3 FIDs - publishing the initial image and then sending out an update.
I intentionally added the FIDs to the msg Payload in the following order:
- 22 (BID),
- 7 (TRDPRC_2)
- 8 (TRDPRC_3).
The consumer connected to an ADS received the initial Image with the data sorted by FID :
FieldList: standard data count = 3
FieldEntry [ 7] TRDPRC_2 120
FieldEntry [ 8] TRDPRC_3 310
FieldEntry [ 22] BID 250But the Update was received in the order as published
FieldList: standard data count = 3
FieldEntry [ 22] BID 260
FieldEntry [ 7] TRDPRC_2 130
FieldEntry [ 8] TRDPRC_3 320Therefore, I think it would be safer not to rely on a guaranteed order.
2
Answers
-
A payload caching device such as TREP or the RSSL Value Add Cache will re-order the Field List to its internal optimal ordering strategy. This means with an item stream you may even see different orders between the initial refresh and subsequent updates, for example:
Received Source Directory Update
MSFT.O
DOMAIN: RSSL_DMT_MARKET_PRICE
State: Open/Ok/None - text: ""
RDNDISPLAY 100
TRDPRC_1 11
MSFT.O
DOMAIN: RSSL_DMT_MARKET_PRICE
State: Open/Ok/None - text: ""
TRDPRC_1 12
RDNDISPLAY 100
MSFT.O
DOMAIN: RSSL_DMT_MARKET_PRICE
State: Open/Ok/None - text: ""
TRDPRC_1 13
RDNDISPLAY 100
MSFT.O
DOMAIN: RSSL_DMT_MARKET_PRICE
State: Open/Ok/None - text: ""
TRDPRC_1 14
RDNDISPLAY 1001 -
I agree with the above answers. Per OMM specifications, the order of field entries is not guaranteed and you should not expect it to come in the order of the field IDs. The only container type that supports strict ordering is the OMM Vector, and even then the application is responsible for ensuring the order; the actions on each vector entry provide the details needed to order.
1
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛