Output from dbglogmon

Is there a way of decoding the two field entires containing

<fieldEntry fieldId="22" data="0C4D 9D"/>
<fieldEntry fieldId="25" data="0C50 59"/>


refreshMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="2282" containerType="RSSL_DT_FIELD_LIST" flags="0x140 (RSSL_RFMF_REFRESH_COMPLETE|RSSL_RFMF_CLEAR_CACHE)" groupId="0" dataState="RSSL_DATA_SUSPECT" streamState="RSSL_STREAM_OPEN" code="RSSL_SC_NONE" text="" dataSize="15">
<dataBody>
<fieldList flags="0x8 (RSSL_FLF_HAS_STANDARD_DATA)">
<fieldEntry fieldId="22" data="0C4D 9D"/>
<fieldEntry fieldId="25" data="0C50 59"/>
</fieldList>

Best Answer

  • @kevin.wheeler01

    Thank you for reaching out to us.

    Yes, you can use the decode function in ETA to decode those data. ETA is an API in the Refintivi Real-Time SDK.

    For example, the field's numbers 22 and 25 are Real type. Therefore, we need to use the Real decoding function to decode the data.

    The code in C looks like this.

        RsslDecodeIterator dIterator;
        RsslBuffer buffer;
        char bytes[3];
        bytes[0] = 0x0C;
        bytes[1] = 0x50;
        bytes[2] = 0x59;
        buffer.data = bytes;
        buffer.length = 3;

        rsslClearDecodeIterator(&dIterator);
        rsslSetDecodeIteratorRWFVersion(&dIterator, RSSL_RWF_MAJOR_VERSION, RSSL_RWF_MINOR_VERSION);
        rsslSetDecodeIteratorBuffer(&dIterator, &buffer);
        RsslReal real;
        rsslDecodeReal(&dIterator, &real);
        
        RsslDouble d_val;
        rsslRealToDouble(&d_val, &real);
        printf("%f", d_val);

    Otherwise, you can refer to the RSSL XML Trace Data Converter Tool article.

Answers