From 21148c66b98e78d3c462a617e716bc80ef49e4d0 Mon Sep 17 00:00:00 2001 From: "Theera K." Date: Mon, 22 Jul 2024 20:38:42 +0700 Subject: [PATCH 1/3] check settings_pack::max_out_request_queue before alert outstanding_request_limit_reached This should fix performance warning: max outstanding piece requests reached, outstanding_request_limit_reached --- src/peer_connection.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/peer_connection.cpp b/src/peer_connection.cpp index c37a5e95ba3..0155f2daf00 100644 --- a/src/peer_connection.cpp +++ b/src/peer_connection.cpp @@ -5104,6 +5104,7 @@ namespace libtorrent { update_desired_queue_size(); if (m_desired_queue_size == m_max_out_request_queue + && m_desired_queue_size >= m_settings.get_int(settings_pack::max_out_request_queue) && t->alerts().should_post()) { t->alerts().emplace_alert(t->get_handle() From 4a348d3c4f541ddf3c3ea4d2f6389a4e8e6808cc Mon Sep 17 00:00:00 2001 From: "Theera K." Date: Sat, 27 Jul 2024 14:28:31 +0700 Subject: [PATCH 2/3] check settings_pack::max_out_request_queue before alert check settings_pack::max_out_request_queue before alerting performance warning: max outstanding piece requests reached Co-authored-by: Arvid Norberg --- src/peer_connection.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/peer_connection.cpp b/src/peer_connection.cpp index 0155f2daf00..3c80cb50933 100644 --- a/src/peer_connection.cpp +++ b/src/peer_connection.cpp @@ -5103,8 +5103,7 @@ namespace libtorrent { update_desired_queue_size(); - if (m_desired_queue_size == m_max_out_request_queue - && m_desired_queue_size >= m_settings.get_int(settings_pack::max_out_request_queue) + if (m_desired_queue_size >= m_settings.get_int(settings_pack::max_out_request_queue) && t->alerts().should_post()) { t->alerts().emplace_alert(t->get_handle() From c2088d2aa01d40802864eb263f251d84c78b4846 Mon Sep 17 00:00:00 2001 From: "Theera K." Date: Sat, 27 Jul 2024 14:33:48 +0700 Subject: [PATCH 3/3] Update ChangeLog --- ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/ChangeLog b/ChangeLog index 5ece91e118a..7ea94e692ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,7 @@ * fix issue where set_piece_deadline() did not correctly post read_piece_alert * fix integer overflow in piece picker * torrent_status::num_pieces counts pieces passed hash check, as documented + * check settings_pack::max_out_request_queue before performance alert 2.0.10 released