Changeset 3825 for trunk/libtransmission/peer-mgr.c
- Timestamp:
- Nov 15, 2007, 5:47:23 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/peer-mgr.c
r3824 r3825 1439 1439 { 1440 1440 tr_peer * peer; 1441 float rate; 1442 int randomKey; 1441 double rate; 1443 1442 int preferred; 1444 1443 int doUnchoke; … … 1448 1447 compareChoke( const void * va, const void * vb ) 1449 1448 { 1449 int i; 1450 1450 const struct ChokeData * a = va; 1451 1451 const struct ChokeData * b = vb; 1452 1452 1453 if(( i = (int)( 10 * ( a->rate - b->rate )))) 1454 return i; 1455 1453 1456 if( a->preferred != b->preferred ) 1454 1457 return a->preferred ? -1 : 1; 1455 1458 1456 if( a->preferred ) 1457 { 1458 if( a->rate > b->rate ) return -1; 1459 if( a->rate < b->rate ) return 1; 1460 return 0; 1461 } 1462 else 1463 { 1464 return a->randomKey - b->randomKey; 1465 } 1459 return 0; 1466 1460 } 1467 1461 … … 1481 1475 getWeightedThroughput( const tr_peer * peer ) 1482 1476 { 1483 /* FIXME: tweak this */1477 /* FIXME: tweak this? */ 1484 1478 return ( 1 * peer->rateToPeer ) 1485 1479 + ( 1 * peer->rateToClient ); … … 1507 1501 node->peer = peer; 1508 1502 node->preferred = peer->peerIsInterested && !clientIsSnubbedBy(peer); 1509 node->randomKey = tr_rand( INT_MAX );1510 1503 node->rate = getWeightedThroughput( peer ); 1511 1504 }
Note: See TracChangeset
for help on using the changeset viewer.