Hello One of our application teams is having an issue with a particular RIC that was working until 2 weeks ago. Now they have reported that the below code is throwing an error. They have asked what could be the causes of this throwing an error. I work for the TREP infrastructure and have captured the conversation (all below) between sink application and ads server this RIC which is called SONIAOSR= as well as another RIC that works which is called RONIAOSR=
void processData(const ::rfa::common::Data& payload, const ::rfa::sessionLayer::OMMItemEvent& ie)
{
if ( ie.getClosure() != (&ric) )
{
LOG_CB_ERROR( "WARNING: RicData event has different closure for " << service.c_str() << "/" << ric.c_str() << " !!!" );
}
const ::rfa::common::Msg& msg = ie.getMsg();
const ::rfa::message::RespMsg& respMsg = static_cast<const ::rfa::message::RespMsg&>(msg);
if ( respMsg.getMsgModelType() != ::rfa::rdm::MMT_MARKET_PRICE )
{
return;
}
if ( result.getType() == cb::rfa::RfaValue::vtEmpty )
{
result.reset( env.decoder.decodeData( payload ).release() ); //------ This throws an error for SONIAOSR=
}
else
{
CB_LOG_LEVEL( "RicData received multiple times, ignoring later values", 3 );
}
dispatcher.terminate();
}
For SONIAOSR=, please see the attached file: trace.txt.
They are using rfa7.6.1.L1.solaris