question

Upvotes
Accepted
1 0 1 4

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.

elektronelektron-sdkrrteta-apielektron-transport-apirssl
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @billpinsky

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?

If so please can you click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question.

Thanks,

AHS

@billpinsky

Hi,

Are any of the replies below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the most appropriate reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thanks,

AHS

@billpinsky

Hi,

Are any of the replies below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the most appropriate reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thanks,

AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,
AHS

Upvote
Accepted
78.8k 250 52 74

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]
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvote
78.8k 250 52 74

@billpinsky

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) -->
<!-- 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>
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.
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
1 0 1 4

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?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.