made the minimum announce interval configurable
This commit is contained in:
@@ -2915,6 +2915,8 @@ struct session_settings
|
|||||||
int auto_scrape_min_interval;
|
int auto_scrape_min_interval;
|
||||||
|
|
||||||
int max_peerlist_size;
|
int max_peerlist_size;
|
||||||
|
|
||||||
|
int min_announce_interval;
|
||||||
};
|
};
|
||||||
</pre>
|
</pre>
|
||||||
<p><tt class="docutils literal"><span class="pre">user_agent</span></tt> this is the client identification to the tracker.
|
<p><tt class="docutils literal"><span class="pre">user_agent</span></tt> this is the client identification to the tracker.
|
||||||
@@ -3126,6 +3128,10 @@ should be much greater than the maximum number of connected peers.
|
|||||||
Peers are evicted from the cache when the list grows passed 90% of
|
Peers are evicted from the cache when the list grows passed 90% of
|
||||||
this limit, and once the size hits the limit, peers are no longer
|
this limit, and once the size hits the limit, peers are no longer
|
||||||
added to the list.</p>
|
added to the list.</p>
|
||||||
|
<p><tt class="docutils literal"><span class="pre">min_announce_interval</span></tt> is the minimum allowed announce interval
|
||||||
|
for a tracker. This is specified in seconds, defaults to 5 minutes and
|
||||||
|
is used as a sanity check on what is returned from a tracker. It
|
||||||
|
mitigates hammering misconfigured trackers.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<h1><a id="pe-settings" name="pe-settings">pe_settings</a></h1>
|
<h1><a id="pe-settings" name="pe-settings">pe_settings</a></h1>
|
||||||
|
@@ -2899,6 +2899,8 @@ that will be sent to the tracker. The user-agent is a good way to identify your
|
|||||||
int auto_scrape_min_interval;
|
int auto_scrape_min_interval;
|
||||||
|
|
||||||
int max_peerlist_size;
|
int max_peerlist_size;
|
||||||
|
|
||||||
|
int min_announce_interval;
|
||||||
};
|
};
|
||||||
|
|
||||||
``user_agent`` this is the client identification to the tracker.
|
``user_agent`` this is the client identification to the tracker.
|
||||||
@@ -3165,6 +3167,12 @@ Peers are evicted from the cache when the list grows passed 90% of
|
|||||||
this limit, and once the size hits the limit, peers are no longer
|
this limit, and once the size hits the limit, peers are no longer
|
||||||
added to the list.
|
added to the list.
|
||||||
|
|
||||||
|
``min_announce_interval`` is the minimum allowed announce interval
|
||||||
|
for a tracker. This is specified in seconds, defaults to 5 minutes and
|
||||||
|
is used as a sanity check on what is returned from a tracker. It
|
||||||
|
mitigates hammering misconfigured trackers.
|
||||||
|
|
||||||
|
|
||||||
pe_settings
|
pe_settings
|
||||||
===========
|
===========
|
||||||
|
|
||||||
|
@@ -140,6 +140,7 @@ namespace libtorrent
|
|||||||
, auto_scrape_interval(1800)
|
, auto_scrape_interval(1800)
|
||||||
, auto_scrape_min_interval(300)
|
, auto_scrape_min_interval(300)
|
||||||
, max_peerlist_size(8000)
|
, max_peerlist_size(8000)
|
||||||
|
, min_announce_interval(5 * 60)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
// this is the user agent that will be sent to the tracker
|
// this is the user agent that will be sent to the tracker
|
||||||
@@ -430,6 +431,11 @@ namespace libtorrent
|
|||||||
// per torrent. This is the peers we know
|
// per torrent. This is the peers we know
|
||||||
// about, not necessarily connected to.
|
// about, not necessarily connected to.
|
||||||
int max_peerlist_size;
|
int max_peerlist_size;
|
||||||
|
|
||||||
|
// any announce intervals reported from a tracker
|
||||||
|
// that is lower than this, will be clamped to this
|
||||||
|
// value. It's specified in seconds
|
||||||
|
int min_announce_interval;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef TORRENT_DISABLE_DHT
|
#ifndef TORRENT_DISABLE_DHT
|
||||||
|
@@ -962,9 +962,9 @@ namespace libtorrent
|
|||||||
m_complete_sent = true;
|
m_complete_sent = true;
|
||||||
|
|
||||||
m_failed_trackers = 0;
|
m_failed_trackers = 0;
|
||||||
// announce intervals less than 5 minutes
|
|
||||||
// are insane.
|
if (interval < m_ses.settings().min_announce_interval)
|
||||||
if (interval < 60 * 5) interval = 60 * 5;
|
interval = m_ses.settings().min_announce_interval;
|
||||||
|
|
||||||
m_last_working_tracker
|
m_last_working_tracker
|
||||||
= prioritize_tracker(m_currently_trying_tracker);
|
= prioritize_tracker(m_currently_trying_tracker);
|
||||||
|
Reference in New Issue
Block a user