Пример #1
0
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;
    }
}
Пример #2
0
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);
}
Пример #3
0
/* 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
}