Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void receive_message(int n, vector<node>& routers){
- int received;
- for(int i = 0; i < n; i++){
- char message[100];
- while((received = endpoint[i].recv_protocol_message(message)) > 0){
- int index_nod = 0;
- int index_versiune = 0;
- int v[strlen(message) / 2];
- stringstream str(message);
- for(int ix = 0; (unsigned)ix < strlen(message) / 2 + 1; ix++)
- str>>v[ix];
- index_nod = v[0];
- index_versiune = v[1];
- for(int k = 2; (unsigned)k < sizeof(v) / sizeof(*v); k = k + 2)
- routers[i].topos.matrix[index_nod][v[k]] = v[k+1];
- //Debug
- printf("Routerul %d a primit mesajul: ", i);
- puts(message);
- //End debug
- for(int j = 0 ; j < routers[i].nr_vecini; j++){
- if(routers[i].vecini[j].first.received_versions[index_nod].second !=
- index_versiune){
- routers[i].vecini[j].first.received_versions[index_nod].second =
- index_versiune;
- //Debug
- printf("Sending message from: %d to: %d at: %d\n",
- i,
- routers[i].vecini[j].first.id_node,
- get_time());
- //End debug
- endpoint[i].send_msg(
- &endpoint[routers[i].vecini[j].first.id_node],
- message,
- strlen(message) + 1,
- NULL);
- };
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement