diff --git a/libtransmission/peer-mgr.c b/libtransmission/peer-mgr.c index 047a6bd08..d404fc658 100644 --- a/libtransmission/peer-mgr.c +++ b/libtransmission/peer-mgr.c @@ -45,11 +45,7 @@ enum RECONNECT_PERIOD_MSEC = (5 * 1000), /* how frequently to refill peers' request lists */ - REFILL_PERIOD_MSEC = 2000, - - /* how many peers to unchoke per-torrent. */ - /* FIXME: make this user-configurable? */ - NUM_UNCHOKED_PEERS_PER_TORRENT = 8, + REFILL_PERIOD_MSEC = 1500, /* don't change a peer's choke status more often than this */ MIN_CHOKE_PERIOD_SEC = 10, @@ -62,6 +58,10 @@ enum * with a better idea for managing the connection limits */ MAX_CONNECTED_PEERS_PER_TORRENT = 60, + /* how many peers to unchoke per-torrent. */ + /* FIXME: make this user-configurable? */ + NUM_UNCHOKED_PEERS_PER_TORRENT = 16, /* arbitrary */ + /* another arbitrary number */ MAX_RECONNECTIONS_PER_MINUTE = 60, @@ -1558,7 +1558,7 @@ reconnectPulse( void * vtorrent ) /* add some new ones */ nAdd = MAX_CONNECTED_PEERS_PER_TORRENT - peerCount; - for( i=0; imanager; diff --git a/libtransmission/peer-msgs.c b/libtransmission/peer-msgs.c index 994df557f..03f4d164a 100644 --- a/libtransmission/peer-msgs.c +++ b/libtransmission/peer-msgs.c @@ -495,7 +495,7 @@ tr_peerMsgsAddRequest( tr_peermsgs * msgs, if( !tr_bitfieldHas( msgs->info->have, index ) ) return TR_ADDREQ_MISSING; - maxSize = MIN( 3 + (int)(tr_rcRate(msgs->info->rateToClient)/10), 100 ); + maxSize = MIN( 3 + (int)(tr_rcRate(msgs->info->rateToClient)/5), 100 ); if( tr_list_size( msgs->clientAskedFor) >= maxSize ) return TR_ADDREQ_FULL;