Handle "alerts dropped" alert from libtorrent

This commit is contained in:
Chocobo1 2019-09-13 12:31:26 +08:00
parent b144d3b797
commit 5e1e983928
No known key found for this signature in database
GPG key ID: 210D9C873253A68C
2 changed files with 16 additions and 0 deletions

View file

@ -3902,6 +3902,11 @@ void Session::handleAlert(const lt::alert *a)
case lt::external_ip_alert::alert_type:
handleExternalIPAlert(static_cast<const lt::external_ip_alert*>(a));
break;
#if (LIBTORRENT_VERSION_NUM >= 10200)
case lt::alerts_dropped_alert::alert_type:
handleAlertsDroppedAlert(static_cast<const lt::alerts_dropped_alert *>(a));
break;
#endif
}
}
catch (const std::exception &exc) {
@ -4365,6 +4370,14 @@ void Session::handleSessionStatsAlert(const lt::session_stats_alert *p)
emit statsUpdated();
}
#if (LIBTORRENT_VERSION_NUM >= 10200)
void Session::handleAlertsDroppedAlert(const lt::alerts_dropped_alert *p) const
{
LogMsg(tr("Error: Internal alert queue full and alerts were dropped, you might see degraded performance. Dropped alert types: %1. Message: %2")
.arg(QString::fromStdString(p->dropped_alerts.to_string()), QString::fromStdString(p->message())), Log::CRITICAL);
}
#endif
void Session::handleStateUpdateAlert(const lt::state_update_alert *p)
{
QVector<BitTorrent::TorrentHandle *> updatedTorrents;

View file

@ -562,6 +562,9 @@ namespace BitTorrent
void handleListenFailedAlert(const lt::listen_failed_alert *p);
void handleExternalIPAlert(const lt::external_ip_alert *p);
void handleSessionStatsAlert(const lt::session_stats_alert *p);
#if (LIBTORRENT_VERSION_NUM >= 10200)
void handleAlertsDroppedAlert(const lt::alerts_dropped_alert *p) const;
#endif
void createTorrentHandle(const lt::torrent_handle &nativeHandle);