We have a process on our side which places a streaming request. We specific FID we are interested on with the RIC.
Below is such request RIC :TRADNDF FID : 322,323
Response recd from TREP Platform
The below reply is fine
FIELD_ENTRY 322/ROW80_8: 1W -0.025/-0.010 1W 6.5795/6.5845 1W 50.88/50.93 1W 64.21/64.24 /
FIELD_ENTRY 323/ROW80_9: 1M -0.080/-0.070 1M 6.5965/6.6015 1M 51.00/51.05 1M 64.38/64.41 /
Subsequent updates get publised as below
FIELD_ENTRY 323/ROW80_9: hpos: 39, 0 | hpos: 41, 99 | hpos: 48, 4
I understand these are partial updates. We dont store the complete data recd on our.It is more parsed values which we store. So we cannot use the String replace option as outline in the below link
Is there a way to get complete result of an FID instead of Partial update
To get complete result of an FID instead of Partial update, you need to make a snapshot request periodically instead of a streaming request. Then, you will get all complete FIDs in a refresh message after sending a snapshot request. Since a snapshot request returns only a refresh message without update message, your application will not receive partial update. To make a snapshot request, the application needs to include OMMMsg.Indication.NONSTREAMING in a request message as an example source code below:
//msg is an OMMMsg instance msg.setIndicationFlags(OMMMsg.Indication.REFRESH|OMMMsg.Indication.NONSTREAMING);
Is there any way to receive the full update on the fid while also getting the callback when the fid is updated?
This data is being consumed by a trading platform and therefore it would make more sense to receive updates when the market status changes as polling is too expensive.