* A seperate variable for hashing state, now properly restarts hashing

after restart.

* Stop a torrent and show a message when it finishes the final
hash-check and finds some chunks incomplete. This prevents full disk
from causing a torrent to go into an infinit loop of re-downloading
the data.

* Moved various slots from core::Manager to core::DownloadList.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@679 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
rakshasa
2006-05-01 18:53:21 +00:00
parent fff7838f13
commit 2b420e95a0
17 changed files with 239 additions and 105 deletions
+7 -6
View File
@@ -40,8 +40,6 @@
#include <iosfwd>
#include "download_list.h"
#include "download_store.h"
#include "http_queue.h"
#include "poll_manager.h"
#include "log.h"
@@ -51,7 +49,9 @@ namespace torrent {
namespace core {
class DownloadStore;
class HashQueue;
class HttpQueue;
class Manager {
public:
@@ -62,11 +62,12 @@ public:
Manager();
~Manager();
DownloadStore& download_store() { return m_downloadStore; }
HttpQueue& http_queue() { return m_httpQueue; }
DownloadList* download_list() { return m_downloadList; }
DownloadStore* download_store() { return m_downloadStore; }
HashQueue* hash_queue() { return m_hashQueue; }
HttpQueue* http_queue() { return m_httpQueue; }
PollManager* get_poll_manager() { return m_pollManager; }
Log& get_log_important() { return m_logImportant; }
@@ -104,9 +105,9 @@ private:
void receive_http_failed(std::string msg);
DownloadList* m_downloadList;
DownloadStore m_downloadStore;
DownloadStore* m_downloadStore;
HashQueue* m_hashQueue;
HttpQueue m_httpQueue;
HttpQueue* m_httpQueue;
PollManager* m_pollManager;
Log m_logImportant;