void callSocket(::std::string* request, ::std::string* response, ::zmq::socket_t* socket, int timeout) { ::std::cout << "" << " Sending " << *request << ::std::endl; // setting up the poller for this exchange zmq_pollitem_t poll_items[1]; zmq_pollitem_t item1; item1.socket = *socket; item1.events = ZMQ_POLLIN; poll_items[0] = item1; // sending the message to the master ::zmq::message_t msg; str2msg(request, &msg); try { socket->send(msg, ZMQ_NOBLOCK); } catch (...) { ::std::cout << "" << " could not send a msg" << ::std::endl; throw RegisterError(); } ::std::cout << "" << " waiting for an answer" << ::std::endl; // waiting for an answer now ::zmq::poll(poll_items, 1, timeout); ::std::cout << "" << " poll is over" << ::std::endl; // no answer in time if (poll_items[0].revents == 0) { ::std::cout << "did not get anything" << ::std::endl; throw RegisterError(); } else { // getting the result ::zmq::message_t res; socket->recv(&res); ::std::string result; msg2str(&res, &result); ::std::cout <<"" << " we got " << result << ::std::endl; ::std::cout << "" << " we want " << *response << ::std::endl; if (result != *response) { throw RegisterError(); } else ::std::cout << "" << " Registered!" << ::std::endl; } }
void sap_dump(int level, struct frame *frm) { uint8_t msg, params; msg = get_u8(frm); params = get_u8(frm); /* Skip reserved field */ get_u16(frm); p_indent(level, frm); printf("SAP: %s: params %d\n", msg2str(msg), params); parse_parameters(level, frm); }
/* req_pkt() - DEBUG ONLY!!!!!!!!! */ void ocin_router_inj::req_pkt() { ocin_msg *msg = gen_msg(1); msg->src_addr = parent_router->node_info->coord; // initialize the destination address msg->dest_addr.clear(); for (int i=0; i<parent_router->node_info->coord.size(); i++) { msg->dest_addr.push_back(1); } msg->rt_dimension = 0; msg->rt_dir = 0; msg->p_out = 0; vector<ocin_flit *> ::iterator fitr; for (fitr=msg->flits.begin(); fitr != msg->flits.end(); fitr++) { (*fitr)->vc_idx=0; (*fitr)->idx=0; (*fitr)->p_out=0; (*fitr)->p_in=0; (*fitr)->inj_time=10; data.push_back(*fitr); } #ifdef DEBUG { stringstream tmp; tmp << "Generated new msg: " ; ocin_name_debug(name,tmp.str()); } { stringstream tmp; tmp << msg2str(msg, true /*print flits*/); ocin_name_debug(name,tmp.str()); } #endif }