fix stats_alert with recent changes to stats

This commit is contained in:
Arvid Norberg 2014-10-25 23:10:07 +00:00
parent 935eea9d0b
commit 1c448331d5
3 changed files with 27 additions and 8 deletions

View File

@ -1619,11 +1619,15 @@ namespace libtorrent
download_payload, download_payload,
download_protocol, download_protocol,
upload_ip_protocol, upload_ip_protocol,
#ifndef TORRENT_NO_DEPRECATE
upload_dht_protocol, upload_dht_protocol,
upload_tracker_protocol, upload_tracker_protocol,
#endif
download_ip_protocol, download_ip_protocol,
#ifndef TORRENT_NO_DEPRECATE
download_dht_protocol, download_dht_protocol,
download_tracker_protocol, download_tracker_protocol,
#endif
num_channels num_channels
}; };

View File

@ -389,19 +389,33 @@ namespace libtorrent {
return msg; return msg;
} }
stats_alert::stats_alert(torrent_handle const& h, int in stats_alert::stats_alert(torrent_handle const& h, int in, stat const& s)
, stat const& s)
: torrent_alert(h) : torrent_alert(h)
, interval(in) , interval(in)
{ {
for (int i = 0; i < num_channels; ++i) transferred[upload_payload] = s[upload_payload].counter();
transferred[i] = s[i].counter(); transferred[upload_protocol] = s[upload_protocol].counter();
transferred[download_payload] = s[download_payload].counter();
transferred[download_protocol] = s[download_protocol].counter();
transferred[upload_ip_protocol] = s[upload_ip_protocol].counter();
#ifndef TORRENT_NO_DEPRECATE
transferred[upload_dht_protocol] = 0;
transferred[upload_tracker_protocol] = 0;
#endif
transferred[download_ip_protocol] = s[download_ip_protocol].counter();
#ifndef TORRENT_NO_DEPRECATE
transferred[download_dht_protocol] = 0;
transferred[download_tracker_protocol] = 0;
#endif
} }
std::string stats_alert::message() const std::string stats_alert::message() const
{ {
char msg[200]; char msg[200];
snprintf(msg, sizeof(msg), "%s: [%d] %d %d %d %d %d %d %d %d %d %d" snprintf(msg, sizeof(msg), "%s: [%d] %d %d %d %d %d %d"
#ifndef TORRENT_NO_DEPRECATE
" %d %d %d %d"
#endif
, torrent_alert::message().c_str() , torrent_alert::message().c_str()
, interval , interval
, transferred[0] , transferred[0]
@ -410,10 +424,13 @@ namespace libtorrent {
, transferred[3] , transferred[3]
, transferred[4] , transferred[4]
, transferred[5] , transferred[5]
#ifndef TORRENT_NO_DEPRECATE
, transferred[6] , transferred[6]
, transferred[7] , transferred[7]
, transferred[8] , transferred[8]
, transferred[9]); , transferred[9]
#endif
);
return msg; return msg;
} }

View File

@ -1682,8 +1682,6 @@ namespace libtorrent
// just unchoke it immediately // just unchoke it immediately
send_unchoke(); send_unchoke();
} }
// TODO: 3 we should probably use ses.m_allowed_upload_slots here instead
// to work with auto-unchoke logic
else if (m_ses.preemptive_unchoke()) else if (m_ses.preemptive_unchoke())
{ {
// if the peer is choked and we have upload slots left, // if the peer is choked and we have upload slots left,