added performance warning if there are too many optimistic unchoke slots
This commit is contained in:
parent
bb9426b97c
commit
abfc92de35
|
@ -5625,7 +5625,8 @@ upload or download rate performance.
|
||||||
outstanding_request_limit_reached,
|
outstanding_request_limit_reached,
|
||||||
upload_limit_too_low,
|
upload_limit_too_low,
|
||||||
download_limit_too_low,
|
download_limit_too_low,
|
||||||
send_buffer_watermark_too_low
|
send_buffer_watermark_too_low,
|
||||||
|
too_many_optimistic_unchoke_slots
|
||||||
};
|
};
|
||||||
|
|
||||||
performance_warning_t warning_code;
|
performance_warning_t warning_code;
|
||||||
|
|
|
@ -187,7 +187,14 @@ namespace libtorrent
|
||||||
outstanding_request_limit_reached,
|
outstanding_request_limit_reached,
|
||||||
upload_limit_too_low,
|
upload_limit_too_low,
|
||||||
download_limit_too_low,
|
download_limit_too_low,
|
||||||
send_buffer_watermark_too_low
|
send_buffer_watermark_too_low,
|
||||||
|
too_many_optimistic_unchoke_slots
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
performance_alert(torrent_handle const& h
|
performance_alert(torrent_handle const& h
|
||||||
|
|
|
@ -112,7 +112,8 @@ namespace libtorrent {
|
||||||
"max outstanding piece requests reached",
|
"max outstanding piece requests reached",
|
||||||
"upload limit too low (download rate will suffer)",
|
"upload limit too low (download rate will suffer)",
|
||||||
"download limit too low (upload rate will suffer)",
|
"download limit too low (upload rate will suffer)",
|
||||||
"send buffer watermark too low (upload rate will suffer)"
|
"send buffer watermark too low (upload rate will suffer)",
|
||||||
|
"too many optimistic unchoke slots"
|
||||||
};
|
};
|
||||||
|
|
||||||
return torrent_alert::message() + ": performance warning: "
|
return torrent_alert::message() + ": performance warning: "
|
||||||
|
|
|
@ -1070,6 +1070,13 @@ namespace aux {
|
||||||
m_disk_thread.add_job(j);
|
m_disk_thread.add_job(j);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_allowed_upload_slots <= m_settings.num_optimistic_unchoke_slots / 2)
|
||||||
|
{
|
||||||
|
if (m_alerts.should_post<performance_alert>())
|
||||||
|
m_alerts.post_alert(performance_alert(torrent_handle()
|
||||||
|
, performance_alert::too_many_optimistic_unchoke_slots));
|
||||||
|
}
|
||||||
|
|
||||||
if (!s.auto_upload_slots) m_allowed_upload_slots = m_max_uploads;
|
if (!s.auto_upload_slots) m_allowed_upload_slots = m_max_uploads;
|
||||||
// replace all occurances of '\n' with ' '.
|
// replace all occurances of '\n' with ' '.
|
||||||
std::string::iterator i = m_settings.user_agent.begin();
|
std::string::iterator i = m_settings.user_agent.begin();
|
||||||
|
@ -3210,6 +3217,12 @@ namespace aux {
|
||||||
if (m_max_uploads == limit) return;
|
if (m_max_uploads == limit) return;
|
||||||
m_max_uploads = limit;
|
m_max_uploads = limit;
|
||||||
m_allowed_upload_slots = limit;
|
m_allowed_upload_slots = limit;
|
||||||
|
if (m_allowed_upload_slots <= m_settings.num_optimistic_unchoke_slots / 2)
|
||||||
|
{
|
||||||
|
if (m_alerts.should_post<performance_alert>())
|
||||||
|
m_alerts.post_alert(performance_alert(torrent_handle()
|
||||||
|
, performance_alert::too_many_optimistic_unchoke_slots));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void session_impl::set_max_connections(int limit)
|
void session_impl::set_max_connections(int limit)
|
||||||
|
|
Loading…
Reference in New Issue