AndreiS

Untitled

Apr 18th, 2015
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. vector<pair<int, int> > auxListIdCost(node router){
  2.  
  3. vector<pair<int, int> > rezultat;
  4. pair<int, int> aux;
  5. for(int i = 0; i < router.nr_vecini; i++){
  6. aux.first = router.vecini[i].first.id_node;
  7. aux.second = router.vecini[i].second;
  8. rezultat.push_back(aux);
  9. }
  10. return rezultat;
  11. }
  12.  
  13. //Mesajul = Id-ul nodului care trimite + Versiunea + (Id_vecin:Cost)
  14. char* create_message(node router){
  15.  
  16. ostringstream aux;
  17. vector<pair<int, int> > lista = auxListIdCost(router);
  18. //In aux salvez datele de care am nevoie din structura Routerului
  19. aux << router.id_node << " " << router.versiune;
  20. for(int i = 0; i <router.nr_vecini; i++){
  21. aux <<" " << lista[i].first << " " << lista[i].second;
  22. }
  23.  
  24. const string temp = aux.str();
  25.  
  26. char * fin = new char[temp.length() + 1];
  27. strcpy(fin, temp.c_str());
  28. fin[strlen(fin) + 1] = '\0';
  29.  
  30. return fin;
  31.  
  32. }
  33.  
  34. printf("Mesajul nodului 1\n");
  35. char * deb = create_message(routers[1]);
  36.  
  37. puts(deb);
  38.  
  39.  
  40. endpoint[1].send_msg(
  41. &endpoint[5],
  42. deb,
  43. strlen(deb) + 1,
  44. NULL);
  45.  
  46. char message[100];
  47. int recv = endpoint[5].recv_protocol_message(message);
  48. printf("%d\n", recv);
  49.  
  50. puts(message);
  51. recv = endpoint[5].recv_protocol_message(message);
  52. printf("%d\n", recv);
  53.  
  54. puts(message);
Advertisement
Add Comment
Please, Sign In to add comment