void DebugManagerV3::runEvent(MessageDataPtr messageData) { if (EmulationManagerPtr emManager = this->parent->getEmulationManager()) { emManager->onEvent(messageData); } messageData->reset(); uint16_t eventMask = 0; (*messageData) >> eventMask; if (eventMask & JSTATE_CAPTURE_FLAG) { uint32_t maskLow = 0; uint32_t maskHigh = 0; (*messageData) >> maskLow >> maskHigh; if (maskHigh & J_STATE_LPMX_MASK_HIGH) { deviceInLpm5 = true; if(cbx) { cbx->event(DebugEventTarget::Lpm5Sleep); } } else { deviceInLpm5 = false; if(cbx) { cbx->event(DebugEventTarget::Lpm5Wakeup); } } }
bool Node::send(const MessageDataPtr& data){ if (send_receive_controller_.exceedMaxExceptions()) { MCE_WARN("[Node::send] too many exceptions, try again later!"); return false; } std::string dest = (data->isTopic() ? "topic://" : "queue://") + data->getSubject(); MyUtil::TimeCost tc = MyUtil::TimeCost::create("send " + dest); CmsConnectionPoolPtr pool = send_pool_.get(dest); CmsTemplate* cms_template = NULL; try { cms_template = pool->takeConnection(); if(cms_template == NULL){ MCE_WARN("Node::send send pool full " << dest); return false; } ByteMessageCreator creator(data); //destination destroy by message if(data->isTopic()){ ActiveMQTopic topic(data->getSubject()) ; cms_template->send(&topic,&creator); }else{ ActiveMQQueue queue(data->getSubject()) ; cms_template->send(&queue,&creator); } pool->returnConnection(cms_template); return true; }catch(cms::CMSException& ex){ MCE_WARN("Node::send fail exception: "<< ex.getMessage() << " " << dest); send_receive_controller_.pushExceptionTime(); }catch(...){ MCE_WARN("Node::send fail unknown exception "<< dest); send_receive_controller_.pushExceptionTime(); } if(cms_template!=NULL){ pool->returnConnection(cms_template); } return false; }
void StateStorage430::onEventVWatch(MessageDataPtr msgData) { msgData->reset(); uint16_t eventMask = 0; (*msgData) >> eventMask; if (eventMask & 0x8) { do { uint32_t variableAddress = 0; uint16_t variableValue = 0; (*msgData) >> variableAddress >> variableValue; if (!msgData->fail()) { updateWatchedVariable(variableAddress, variableValue); } } while (!msgData->fail()); } }
ByteMessageCreator(const MessageDataPtr& data) : activemq::cmsutil::MessageCreator() ,data_(data->getData()){}