Add logging for some alerts

Specifically these alerts:
* i2p_alert
* session_error_alert

PR #19662.
This commit is contained in:
Chocobo1 2023-09-30 11:43:44 +08:00 committed by Vladimir Golovnev
parent a84259dd1a
commit e6cde0b4b4
2 changed files with 39 additions and 16 deletions

View file

@ -5555,10 +5555,13 @@ void SessionImpl::handleAlert(const lt::alert *a)
dispatchTorrentAlert(static_cast<const lt::torrent_alert *>(a));
break;
case lt::state_update_alert::alert_type:
handleStateUpdateAlert(static_cast<const lt::state_update_alert*>(a));
handleStateUpdateAlert(static_cast<const lt::state_update_alert *>(a));
break;
case lt::session_error_alert::alert_type:
handleSessionErrorAlert(static_cast<const lt::session_error_alert *>(a));
break;
case lt::session_stats_alert::alert_type:
handleSessionStatsAlert(static_cast<const lt::session_stats_alert*>(a));
handleSessionStatsAlert(static_cast<const lt::session_stats_alert *>(a));
break;
case lt::tracker_announce_alert::alert_type:
case lt::tracker_error_alert::alert_type:
@ -5567,56 +5570,59 @@ void SessionImpl::handleAlert(const lt::alert *a)
handleTrackerAlert(static_cast<const lt::tracker_alert *>(a));
break;
case lt::file_error_alert::alert_type:
handleFileErrorAlert(static_cast<const lt::file_error_alert*>(a));
handleFileErrorAlert(static_cast<const lt::file_error_alert *>(a));
break;
case lt::add_torrent_alert::alert_type:
// handled separately
break;
case lt::torrent_removed_alert::alert_type:
handleTorrentRemovedAlert(static_cast<const lt::torrent_removed_alert*>(a));
handleTorrentRemovedAlert(static_cast<const lt::torrent_removed_alert *>(a));
break;
case lt::torrent_deleted_alert::alert_type:
handleTorrentDeletedAlert(static_cast<const lt::torrent_deleted_alert*>(a));
handleTorrentDeletedAlert(static_cast<const lt::torrent_deleted_alert *>(a));
break;
case lt::torrent_delete_failed_alert::alert_type:
handleTorrentDeleteFailedAlert(static_cast<const lt::torrent_delete_failed_alert*>(a));
handleTorrentDeleteFailedAlert(static_cast<const lt::torrent_delete_failed_alert *>(a));
break;
case lt::portmap_error_alert::alert_type:
handlePortmapWarningAlert(static_cast<const lt::portmap_error_alert*>(a));
handlePortmapWarningAlert(static_cast<const lt::portmap_error_alert *>(a));
break;
case lt::portmap_alert::alert_type:
handlePortmapAlert(static_cast<const lt::portmap_alert*>(a));
handlePortmapAlert(static_cast<const lt::portmap_alert *>(a));
break;
case lt::peer_blocked_alert::alert_type:
handlePeerBlockedAlert(static_cast<const lt::peer_blocked_alert*>(a));
handlePeerBlockedAlert(static_cast<const lt::peer_blocked_alert *>(a));
break;
case lt::peer_ban_alert::alert_type:
handlePeerBanAlert(static_cast<const lt::peer_ban_alert*>(a));
handlePeerBanAlert(static_cast<const lt::peer_ban_alert *>(a));
break;
case lt::url_seed_alert::alert_type:
handleUrlSeedAlert(static_cast<const lt::url_seed_alert*>(a));
handleUrlSeedAlert(static_cast<const lt::url_seed_alert *>(a));
break;
case lt::listen_succeeded_alert::alert_type:
handleListenSucceededAlert(static_cast<const lt::listen_succeeded_alert*>(a));
handleListenSucceededAlert(static_cast<const lt::listen_succeeded_alert *>(a));
break;
case lt::listen_failed_alert::alert_type:
handleListenFailedAlert(static_cast<const lt::listen_failed_alert*>(a));
handleListenFailedAlert(static_cast<const lt::listen_failed_alert *>(a));
break;
case lt::external_ip_alert::alert_type:
handleExternalIPAlert(static_cast<const lt::external_ip_alert*>(a));
handleExternalIPAlert(static_cast<const lt::external_ip_alert *>(a));
break;
case lt::alerts_dropped_alert::alert_type:
handleAlertsDroppedAlert(static_cast<const lt::alerts_dropped_alert *>(a));
break;
case lt::storage_moved_alert::alert_type:
handleStorageMovedAlert(static_cast<const lt::storage_moved_alert*>(a));
handleStorageMovedAlert(static_cast<const lt::storage_moved_alert *>(a));
break;
case lt::storage_moved_failed_alert::alert_type:
handleStorageMovedFailedAlert(static_cast<const lt::storage_moved_failed_alert*>(a));
handleStorageMovedFailedAlert(static_cast<const lt::storage_moved_failed_alert *>(a));
break;
case lt::socks5_alert::alert_type:
handleSocks5Alert(static_cast<const lt::socks5_alert *>(a));
break;
case lt::i2p_alert::alert_type:
handleI2PAlert(static_cast<const lt::i2p_alert *>(a));
break;
#ifdef QBT_USES_LIBTORRENT2
case lt::torrent_conflict_alert::alert_type:
handleTorrentConflictAlert(static_cast<const lt::torrent_conflict_alert *>(a));
@ -5923,6 +5929,12 @@ void SessionImpl::handleExternalIPAlert(const lt::external_ip_alert *p)
}
}
void SessionImpl::handleSessionErrorAlert(const lt::session_error_alert *p) const
{
LogMsg(tr("BitTorrent session encountered a serious error. Reason: \"%1\"")
.arg(QString::fromStdString(p->message())), Log::CRITICAL);
}
void SessionImpl::handleSessionStatsAlert(const lt::session_stats_alert *p)
{
if (m_refreshEnqueued)
@ -6117,6 +6129,15 @@ void SessionImpl::handleSocks5Alert(const lt::socks5_alert *p) const
}
}
void SessionImpl::handleI2PAlert(const lt::i2p_alert *p) const
{
if (p->error)
{
LogMsg(tr("I2P error. Message: \"%1\".")
.arg(QString::fromStdString(p->message())), Log::WARNING);
}
}
void SessionImpl::handleTrackerAlert(const lt::tracker_alert *a)
{
TorrentImpl *torrent = m_torrents.value(a->handle.info_hash());

View file

@ -564,11 +564,13 @@ namespace BitTorrent
void handleListenSucceededAlert(const lt::listen_succeeded_alert *p);
void handleListenFailedAlert(const lt::listen_failed_alert *p);
void handleExternalIPAlert(const lt::external_ip_alert *p);
void handleSessionErrorAlert(const lt::session_error_alert *p) const;
void handleSessionStatsAlert(const lt::session_stats_alert *p);
void handleAlertsDroppedAlert(const lt::alerts_dropped_alert *p) const;
void handleStorageMovedAlert(const lt::storage_moved_alert *p);
void handleStorageMovedFailedAlert(const lt::storage_moved_failed_alert *p);
void handleSocks5Alert(const lt::socks5_alert *p) const;
void handleI2PAlert(const lt::i2p_alert *p) const;
void handleTrackerAlert(const lt::tracker_alert *a);
#ifdef QBT_USES_LIBTORRENT2
void handleTorrentConflictAlert(const lt::torrent_conflict_alert *a);