comparison extensions/rt_load_balance/rt_load_balance.c @ 1221:6f75842935f6

Reduce candidate score down to 1 due to load balancing. Before, the maximum reduction was 5.
author Thomas Klausner <tk@giga.or.at>
date Thu, 20 Jun 2013 11:51:24 +0200
parents 581bbd48524a
children f6ad5596aac7
comparison
equal deleted inserted replaced
1220:cec3e9b579e1 1221:6f75842935f6
57 int score; 57 int score;
58 CHECK_FCT(fd_peer_getbyid(cand->diamid, cand->diamidlen, 0, &peer)); 58 CHECK_FCT(fd_peer_getbyid(cand->diamid, cand->diamidlen, 0, &peer));
59 CHECK_FCT(fd_peer_get_load_pending(peer, &to_receive, &to_send)); 59 CHECK_FCT(fd_peer_get_load_pending(peer, &to_receive, &to_send));
60 load = to_receive + to_send; 60 load = to_receive + to_send;
61 score = cand->score; 61 score = cand->score;
62 if (load > 5) 62 if ((cand->score > 0) && (load >= cand->score))
63 cand->score -= 5; 63 cand->score = 1;
64 else 64 else
65 cand->score -= load; 65 cand->score -= load;
66 TRACE_DEBUG(INFO, "evaluated peer `%.*s', score was %d, now %d", (int)cand->diamidlen, cand->diamid, score, cand->score); 66 TRACE_DEBUG(INFO, "evaluated peer `%.*s', score was %d, now %d", (int)cand->diamidlen, cand->diamid, score, cand->score);
67 } 67 }
68 68
"Welcome to our mercurial repository"