mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-08-17 23:52:30 +00:00
* Changed RequestList so that it clears m_canceled when a non-canceled
piece is downloaded, and it no longer checks the whole dequeue for invalid transfers. * Fixed a bad exception in PeerConnectionBase::down_chunk_from_buffer(), it is supposed to check the buffer was used up only when the transfer is unfinished, not when finished. * Added --with-address-space to allow the user to change the address space size. Defaults to 1024 MB on 32 bit, 4096 MB on 64 bit archs. * Added a parameter to display::Manager::schedule_update that sets the minimum update interval. Normal updates use 50 msec, adjust_layout uses 0 msec. git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@769 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
@@ -66,19 +66,21 @@ void
|
||||
Manager::schedule(Window* w, rak::timer t) {
|
||||
rak::priority_queue_erase(&m_scheduler, w->task_update());
|
||||
rak::priority_queue_insert(&m_scheduler, w->task_update(), t);
|
||||
schedule_update();
|
||||
schedule_update(50000);
|
||||
}
|
||||
|
||||
void
|
||||
Manager::unschedule(Window* w) {
|
||||
rak::priority_queue_erase(&m_scheduler, w->task_update());
|
||||
schedule_update();
|
||||
schedule_update(50000);
|
||||
}
|
||||
|
||||
void
|
||||
Manager::adjust_layout() {
|
||||
Canvas::redraw_std();
|
||||
m_rootFrame.balance(0, 0, Canvas::get_screen_width(), Canvas::get_screen_height());
|
||||
|
||||
schedule_update(0);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -101,11 +103,11 @@ Manager::receive_update() {
|
||||
Canvas::do_update();
|
||||
|
||||
m_timeLastUpdate = cachedTime;
|
||||
schedule_update();
|
||||
schedule_update(50000);
|
||||
}
|
||||
|
||||
void
|
||||
Manager::schedule_update() {
|
||||
Manager::schedule_update(uint32_t minInterval) {
|
||||
if (m_scheduler.empty()) {
|
||||
rak::priority_queue_erase(&taskScheduler, &m_taskUpdate);
|
||||
return;
|
||||
@@ -113,7 +115,7 @@ Manager::schedule_update() {
|
||||
|
||||
if (!m_taskUpdate.is_queued() || m_taskUpdate.time() > m_scheduler.top()->time()) {
|
||||
rak::priority_queue_erase(&taskScheduler, &m_taskUpdate);
|
||||
rak::priority_queue_insert(&taskScheduler, &m_taskUpdate, std::max(m_scheduler.top()->time(), m_timeLastUpdate + 50000));
|
||||
rak::priority_queue_insert(&taskScheduler, &m_taskUpdate, std::max(m_scheduler.top()->time(), m_timeLastUpdate + minInterval));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user