+ while(parent->get_listen()) {
+ mdclog_write(MDCLOG_INFO, "Listening at Thread: %s", thread_id.str().c_str());
+
+ this->_xapp_received_buff = rmr_rcv_msg( rmr_context, this->_xapp_received_buff );
+ //this->_xapp_received_buff = rmr_call( rmr_context, this->_xapp_received_buff);
+
+ if( this->_xapp_received_buff->mtype < 0 || this->_xapp_received_buff->state != RMR_OK ) {
+ mdclog_write(MDCLOG_ERR, "bad msg: state=%d errno=%d, file= %s, line=%d", this->_xapp_received_buff->state, errno, __FILE__,__LINE__ );
+ return;
+ }
+ else
+ {
+ mdclog_write(MDCLOG_INFO,"RMR Received Message of Type: %d",this->_xapp_received_buff->mtype);
+ mdclog_write(MDCLOG_INFO,"RMR Received Message: %s",(char*)this->_xapp_received_buff->payload);
+
+ //in case message handler returns true, need to resend the message.
+ msgproc(this->_xapp_received_buff, resend);
+
+ if(*resend){
+ mdclog_write(MDCLOG_INFO,"RMR Return to Sender Message of Type: %d",this->_xapp_received_buff->mtype);
+ mdclog_write(MDCLOG_INFO,"RMR Return to Sender Message: %s",(char*)this->_xapp_received_buff->payload);
+ rmr_rts_msg(rmr_context, this->_xapp_received_buff );
+ sleep(1);
+ *resend = false;