flag RSSL_UPMF_DO_NOT_CONFLATE ignored by ADH?
Using the UPA C++ API, I am setting the RsslUpdateMessage .flag = RSSL_UPMF_DO_NOT_CONFLATE. However I am seeing a flag value of 0x0 and not 0x80 as expected in the the rmdstestclient output:
<!-- rwfMajorVer="14" rwfMinorVer="0" -->
<updateMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="5" containerType="RSSL_DT_FIELD_LIST" flags="0x0" updateType="0" dataSize="91">
<dataBody>
<fieldList flags="0x9 (RSSL_FLF_HAS_FIELD_LIST_INFO|RSSL_FLF_HAS_STANDARD_DATA)" fieldListNum="0" dictionaryId="0">
<fieldEntry fieldId="12073" dataType="RSSL_DT_RMTES_STRING" data="IBM"/>
<fieldEntry fieldId="1067" dataType="RSSL_DT_TIME" data=" 13:10:46:000"/>
<fieldEntry fieldId="1021" dataType="RSSL_DT_REAL" data="9469596"/>
<fieldEntry fieldId="22" dataType="RSSL_DT_REAL" data="145.64"/>
<fieldEntry fieldId="393" dataType="RSSL_DT_REAL" data="145.64"/>
<fieldEntry fieldId="270" dataType="RSSL_DT_ENUM" data="16"/>
<fieldEntry fieldId="8935" dataType="RSSL_DT_ENUM" data="2"/>
<fieldEntry fieldId="17" dataType="RSSL_DT_DATE" data="8/31/2018"/>
<fieldEntry fieldId="5" dataType="RSSL_DT_TIME" data=" 17:10:46:846"/>
<fieldEntry fieldId="4148" dataType="RSSL_DT_UINT" data="61846846"/>
<fieldEntry fieldId="3386" dataType="RSSL_DT_DATE" data="8/31/2018"/>
<fieldEntry fieldId="1025" dataType="RSSL_DT_TIME" data=" 17:10:46:846"/>
<fieldEntry fieldId="3855" dataType="RSSL_DT_UINT" data="61846846"/>
</fieldList>
</dataBody>
</updateMsg>
Is there some other value that I am missing that needs to be set? The ADH appears to be ignoring the value when I send it across the wire.
Best Answer
-
Yes, you are correct. RSSL_UPMF_DO_NOT_CONFLATE is equivalent to RespMsg::DoNotFilterFlag in RFA C++.
The code that I used to set the RSSL_UPMF_DO_NOT_CONFLATE flag in UPA C is:
updateMsg.flags |= RSSL_UPMF_DO_NOT_CONFLATE;
I have also tested with the ADH and the ADS is 2.6.11.L1. The rmdstestclient can get the RSSL_UPMF_DO_NOT_CONFLATE flag properly from ADS.
<updateMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="5" containerType="RSSL_DT_FIELD_LIST" flags="0x98 (RSSL_UPMF_HAS_MSG_KEY|RSSL_UPMF_HAS_SEQ_NUM|RSSL_UPMF_DO_NOT_CONFLATE)" updateType="0 (RDM_UPD_EVENT_TYPE_UNSPECIFIED)" seqNum="0" dataSize="38">
<key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="4512" name="IBM.N" nameType="1"/>
</updateMsg>
TRDPRC_1 : REAL 2 : [12 1/2]
BID : REAL 2 : [1.03]
ASK : REAL 2 : [1.07]
ACVOL_1 : REAL 5 : [100000.00]
NETCHNG_1 : REAL 3 : [2.15]
ASK_TIME : TIME 3 : [13:39:51:000]1
Answers
-
I have tested with ADH 3.2.1.L1 and ADS 3.2.1.L1. The consumer application can retrieve the update message with the RSSL_UPMF_DO_NOT_CONFLATE flag properly.
The provider published the following update message to ADH.
<!-- End Message (Channel IPC descriptor = 196) -->
<!-- Outgoing Message (Channel IPC descriptor = 196) -->
<!-- Time: 16:11:13:862 -->
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<updateMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="1034" containerType="RSSL_DT_FIELD
_LIST" flags="0x80 (RSSL_UPMF_DO_NOT_CONFLATE)" updateType="0 (RDM_UPD_EVENT_TYPE_UNSPECIFIED)" dataSize="38">
<dataBody>
<fieldList flags="0x8 (RSSL_FLF_HAS_STANDARD_DATA)">
<fieldEntry fieldId="6" data="1719"/>
<fieldEntry fieldId="22" data="0C6B"/>
<fieldEntry fieldId="25" data="0C6F"/>
<fieldEntry fieldId="32" data="0C00 9896 80"/>
<fieldEntry fieldId="11" data="0C00 D7"/>
<fieldEntry fieldId="267" data="100B 0D"/>
</fieldList>
</dataBody>
</updateMsg>The consumer application got this update from ADS.
<!-- Incoming Message (Channel IPC descriptor = 184) -->
The update message's flag is 0x90 (RSSL_UPMF_HAS_SEQ_NUM|RSSL_UPMF_DO_NOT_CONFLATE). Please verify the version of ADH and ADS.
<!-- Time: 16:11:13:946 -->
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<updateMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="6" containerType="RSSL_DT_FIELD_LIST" flags="0x90 (RSSL_UPMF_HAS_SEQ_NUM|RSSL_UPMF_DO_NOT_CONFLATE)" updateType="0 (RDM_UPD_EVENT_TYPE_UNSPECIFIED)" seqNum="0" dataSize="38">
<dataBody>
<fieldList flags="0x8 (RSSL_FLF_HAS_STANDARD_DATA)">
<fieldEntry fieldId="6" data="1719"/>
<fieldEntry fieldId="22" data="0C6B"/>
<fieldEntry fieldId="25" data="0C6F"/>
<fieldEntry fieldId="32" data="0C00 9896 80"/>
<fieldEntry fieldId="11" data="0C00 D7"/>
<fieldEntry fieldId="267" data="100B 0D"/>
</fieldList>
</dataBody>
</updateMsg>1 -
The version of the ADH and the ADS is 2.6.11 load L1
Thanks. The respnse you posted is what I had hoped to receive. My thinking is that there is some internal flag that needs to be set that I am failing to do. I also have an RFA C++ version of the code that sets the RSSL_UPMF_DO_NOT_CONFLATE flag using this same ADH and ADS, but it does so by using the RFA API's rfa::message::RespMsg::DoNotFilterFlag. Is this the equivalent of what I am doing in setting the updateMsg flag value to RSSL_UPMF_DO_NOT_CONFLATE or do I need to set some other flag in order to view the results correctly in the rmdstestclient?
0
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 中文论坛