Hi Support Team,
I’m using RFA (OMM Consumer) and decoding the field dictionary using:
m_RDMFieldDictionary.decodeRDMFldDictionary(series);
I intermittently hit the following exception:
InvalidUsageException
Classification: IncorrectAPIUsage
StatusText: RDMFieldDictionary::decodeRDMFldDictionary -
Series has Version mismatch '4.20.68' vs. previously found '4.20.66'
I am making the 2 request to two different kind of dictionaries RFA_String rdmFld("RWFFld", 6, false); and RFA_String rdmEnum("RWFEnum", 7, false); at a one time like this
m_reqMsg.clear();
m_attribInfo.clear();
m_reqMsg.setMsgModelType( rfa::rdm::MMT_DICTIONARY );
m_reqMsg.setInteractionType( ReqMsg::InitialImageFlag | ReqMsg::InterestAfterRefreshFlag );
m_attribInfo.setDataMask( rfa::rdm::DICTIONARY_NORMAL );
m_attribInfo.setServiceName( RFA_String( serviceName.c_str(), serviceName.length(), false) );
m_attribInfo.setName( m_rdmFld );
m_reqMsg.setAttribInfo( m_attribInfo );
m_ommItemIntSpec.setMsg( &m_reqMsg );
m_rdmFldDictHandle = m_oMMConsumer->registerClient(m_eventQueue,
&m_ommItemIntSpec,
*this,
NULL
);
m_attribInfo.setName( m_rdmEnum );
m_reqMsg.setAttribInfo( m_attribInfo );
m_ommItemIntSpec.setMsg( &m_reqMsg );
m_rdmEnumDictHandle = m_oMMConsumer->registerClient(m_eventQueue,
&m_ommItemIntSpec,
*this,
NULL
);
Questions :-
1) What needs to be done in case of we get indication mask as RespMsg::DoNotCacheFlag on first refresh message ? Is it possible any how?
2) What needs to be done in case of we get indication mask as RespMsg::ClearCacheFlag on first refresh message ?
3) Why version mismatch error was occurring?
I have also attached the ss of log