Advertisement
AndreiS

Untitled

Apr 19th, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. void receive_message(int n, vector<node>& routers){
  2.  
  3. int received;
  4.  
  5. for(int i = 0; i < n; i++){
  6. char message[100];
  7. while((received = endpoint[i].recv_protocol_message(message)) > 0){
  8.  
  9.  
  10. int index_nod = 0;
  11. int index_versiune = 0;
  12. int v[strlen(message) / 2];
  13. stringstream str(message);
  14.  
  15. for(int ix = 0; (unsigned)ix < strlen(message) / 2 + 1; ix++)
  16. str>>v[ix];
  17.  
  18. index_nod = v[0];
  19. index_versiune = v[1];
  20.  
  21. for(int k = 2; (unsigned)k < sizeof(v) / sizeof(*v); k = k + 2)
  22. routers[i].topos.matrix[index_nod][v[k]] = v[k+1];
  23.  
  24. //Debug
  25. printf("Routerul %d a primit mesajul: ", i);
  26. puts(message);
  27. //End debug
  28.  
  29. for(int j = 0 ; j < routers[i].nr_vecini; j++){
  30.  
  31.  
  32. if(routers[i].vecini[j].first.received_versions[index_nod].second !=
  33. index_versiune){
  34.  
  35. routers[i].vecini[j].first.received_versions[index_nod].second =
  36. index_versiune;
  37.  
  38. //Debug
  39. printf("Sending message from: %d to: %d at: %d\n",
  40. i,
  41. routers[i].vecini[j].first.id_node,
  42. get_time());
  43. //End debug
  44.  
  45. endpoint[i].send_msg(
  46. &endpoint[routers[i].vecini[j].first.id_node],
  47. message,
  48. strlen(message) + 1,
  49. NULL);
  50. };
  51. }
  52. }
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement