fix resume data issue in client_test and some warnings (#1897)
fix resume data issue in client_test and some warnings
This commit is contained in:
parent
c35718d322
commit
09274842f7
|
@ -895,7 +895,7 @@ bool handle_alert(torrent_view& view, session_view& ses_view
|
||||||
// the alert handler for save_resume_data_alert
|
// the alert handler for save_resume_data_alert
|
||||||
// will save it to disk
|
// will save it to disk
|
||||||
torrent_handle h = p->handle;
|
torrent_handle h = p->handle;
|
||||||
h.save_resume_data();
|
h.save_resume_data(torrent_handle::save_info_dict);
|
||||||
++num_outstanding_resume_data;
|
++num_outstanding_resume_data;
|
||||||
}
|
}
|
||||||
else if (save_resume_data_alert* p = alert_cast<save_resume_data_alert>(a))
|
else if (save_resume_data_alert* p = alert_cast<save_resume_data_alert>(a))
|
||||||
|
@ -919,7 +919,7 @@ bool handle_alert(torrent_view& view, session_view& ses_view
|
||||||
// the alert handler for save_resume_data_alert
|
// the alert handler for save_resume_data_alert
|
||||||
// will save it to disk
|
// will save it to disk
|
||||||
torrent_handle h = p->handle;
|
torrent_handle h = p->handle;
|
||||||
h.save_resume_data();
|
h.save_resume_data(torrent_handle::save_info_dict);
|
||||||
++num_outstanding_resume_data;
|
++num_outstanding_resume_data;
|
||||||
}
|
}
|
||||||
else if (state_update_alert* p = alert_cast<state_update_alert>(a))
|
else if (state_update_alert* p = alert_cast<state_update_alert>(a))
|
||||||
|
@ -936,7 +936,7 @@ bool handle_alert(torrent_view& view, session_view& ses_view
|
||||||
}
|
}
|
||||||
|
|
||||||
void pop_alerts(torrent_view& view, session_view& ses_view
|
void pop_alerts(torrent_view& view, session_view& ses_view
|
||||||
, libtorrent::session& ses, std::deque<std::string> events)
|
, libtorrent::session& ses, std::deque<std::string>& events)
|
||||||
{
|
{
|
||||||
std::vector<lt::alert*> alerts;
|
std::vector<lt::alert*> alerts;
|
||||||
ses.pop_alerts(&alerts);
|
ses.pop_alerts(&alerts);
|
||||||
|
@ -1860,10 +1860,11 @@ MAGNETURL is a magnet link
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int progress = ti->files().file_size(i) > 0
|
int const progress = ti->files().file_size(i) > 0
|
||||||
? int(file_progress[idx] * 1000 / ti->files().file_size(i)) : 1000;
|
? int(file_progress[idx] * 1000 / ti->files().file_size(i)) : 1000;
|
||||||
|
assert(file_progress[idx] <= ti->files().file_size(i));
|
||||||
|
|
||||||
bool complete = file_progress[idx] == ti->files().file_size(i);
|
bool const complete = file_progress[idx] == ti->files().file_size(i);
|
||||||
|
|
||||||
std::string title = ti->files().file_name(i).to_string();
|
std::string title = ti->files().file_name(i).to_string();
|
||||||
if (!complete)
|
if (!complete)
|
||||||
|
|
|
@ -362,7 +362,6 @@ bool torrent_view::show_torrent(lt::torrent_status const& st)
|
||||||
// visible or filtered
|
// visible or filtered
|
||||||
void torrent_view::update_filtered_torrents()
|
void torrent_view::update_filtered_torrents()
|
||||||
{
|
{
|
||||||
m_scroll_position = 0;
|
|
||||||
m_filtered_handles.clear();
|
m_filtered_handles.clear();
|
||||||
for (auto const& h : m_all_handles)
|
for (auto const& h : m_all_handles)
|
||||||
{
|
{
|
||||||
|
@ -373,5 +372,9 @@ void torrent_view::update_filtered_torrents()
|
||||||
if (m_active_torrent < 0) m_active_torrent = 0;
|
if (m_active_torrent < 0) m_active_torrent = 0;
|
||||||
TORRENT_ASSERT(m_active_torrent >= 0);
|
TORRENT_ASSERT(m_active_torrent >= 0);
|
||||||
std::sort(m_filtered_handles.begin(), m_filtered_handles.end(), &compare_torrent);
|
std::sort(m_filtered_handles.begin(), m_filtered_handles.end(), &compare_torrent);
|
||||||
|
if (m_scroll_position + m_height - header_size > int(m_filtered_handles.size()))
|
||||||
|
{
|
||||||
|
m_scroll_position = std::max(0, int(m_filtered_handles.size()) - m_height + header_size);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ namespace libtorrent
|
||||||
mach_msg_type_number_t t_info_count = task_events_info_count;
|
mach_msg_type_number_t t_info_count = task_events_info_count;
|
||||||
task_info(mach_task_self(), TASK_EVENTS_INFO,
|
task_info(mach_task_self(), TASK_EVENTS_INFO,
|
||||||
reinterpret_cast<task_info_t>(&teinfo), &t_info_count);
|
reinterpret_cast<task_info_t>(&teinfo), &t_info_count);
|
||||||
w.context_switches = teinfo.csw;
|
w.context_switches = static_cast<std::uint64_t>(teinfo.csw);
|
||||||
#else
|
#else
|
||||||
w.context_switches = 0;
|
w.context_switches = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -5741,10 +5741,9 @@ namespace aux {
|
||||||
std::uint64_t prev_csw = 0;
|
std::uint64_t prev_csw = 0;
|
||||||
if (!_wakeups.empty()) prev_csw = _wakeups[0].context_switches;
|
if (!_wakeups.empty()) prev_csw = _wakeups[0].context_switches;
|
||||||
std::fprintf(f, "abs. time\trel. time\tctx switch\tidle-wakeup\toperation\n");
|
std::fprintf(f, "abs. time\trel. time\tctx switch\tidle-wakeup\toperation\n");
|
||||||
for (int i = 0; i < _wakeups.size(); ++i)
|
for (wakeup_t const& w : _wakeups)
|
||||||
{
|
{
|
||||||
wakeup_t const& w = _wakeups[i];
|
bool const idle_wakeup = w.context_switches > prev_csw;
|
||||||
bool idle_wakeup = w.context_switches > prev_csw;
|
|
||||||
std::fprintf(f, "%" PRId64 "\t%" PRId64 "\t%" PRId64 "\t%c\t%s\n"
|
std::fprintf(f, "%" PRId64 "\t%" PRId64 "\t%" PRId64 "\t%c\t%s\n"
|
||||||
, total_microseconds(w.timestamp - m)
|
, total_microseconds(w.timestamp - m)
|
||||||
, total_microseconds(w.timestamp - prev)
|
, total_microseconds(w.timestamp - prev)
|
||||||
|
|
|
@ -5994,7 +5994,7 @@ namespace libtorrent
|
||||||
bitmask.resize(num_blocks_per_piece, false);
|
bitmask.resize(num_blocks_per_piece, false);
|
||||||
|
|
||||||
auto const info = m_picker->blocks_for_piece(dp);
|
auto const info = m_picker->blocks_for_piece(dp);
|
||||||
for (int i = 0; i < num_blocks_per_piece; ++i)
|
for (int i = 0; i < int(info.size()); ++i)
|
||||||
{
|
{
|
||||||
if (info[i].state == piece_picker::block_info::state_finished)
|
if (info[i].state == piece_picker::block_info::state_finished)
|
||||||
bitmask.set_bit(i);
|
bitmask.set_bit(i);
|
||||||
|
|
Loading…
Reference in New Issue