RWF Len for RsslReal

When encoding double to RsslReal, how do I make sure that the value being encoded is within limits of RWF Len? We have situations where ADH in caching blanks the value out since it is outside the RWF Len? And is there a setting in the ADH that we can use to enable caching of all lengths of values in RsslReal?

Tagged:

Best Answer

  • @vishal.anand

    You can encode a RsslReal to a buffer and call the rsslGetEncodedBufferLength method to determine the size of an encoded RsslReal.

    Typically, the encoded RsslReal contains 1 byte for a hint and 1-8 bytes for an integer value.

    You can refer to the integer value ranges page for the size of integers.

    For example, if the value of RsllReal is:

            real.hint = RSSL_RH_EXPONENT4;
            real.value = 549755813887; 

    The size of an encoded RsslReal is 6 bytes (one byte for a hint and five bytes for 549755813887). You can use this method to estimate the size of an encoded RsslReal.

    Regarding the cache size of fields on ADH, there are two types of RDMFieldDictionary files.

    • RDMFieldDictionary
    • RDMFieldDictionary_large

    The RWF_LEN in RDMFieldDictionary_large is larger than RDMFieldDictionary.1639713761341.png

    To get larger RWF_LEN, you can use RDMFieldDictionary_large instead. However, it is better to contact the ADH support team to confirm it.