diff options
Diffstat (limited to 'src/FileAllocationEntry.h')
| -rw-r--r-- | src/FileAllocationEntry.h | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/FileAllocationEntry.h b/src/FileAllocationEntry.h index f3f9446c..d8cea83a 100644 --- a/src/FileAllocationEntry.h +++ b/src/FileAllocationEntry.h @@ -39,12 +39,15 @@ #include "Request.h" #include "RequestGroup.h" +class DownloadCommand; + class FileAllocationEntry { private: int _cuid; RequestHandle _currentRequest; RequestGroup* _requestGroup; int64_t _offset; + DownloadCommand* _nextDownloadCommand; public: FileAllocationEntry(int cuid, const RequestHandle& currentRequest, @@ -53,15 +56,13 @@ public: _cuid(cuid), _currentRequest(currentRequest), _requestGroup(requestGroup), - _offset(offset) + _offset(offset), + _nextDownloadCommand(0) { ++_requestGroup->numConnection; } - ~FileAllocationEntry() - { - --_requestGroup->numConnection; - } + ~FileAllocationEntry(); int getCUID() const { @@ -94,6 +95,16 @@ public: { return _requestGroup->getSegmentMan()->totalSize <= _offset; } + + void setNextDownloadCommand(DownloadCommand* command) + { + _nextDownloadCommand = command; + } + + DownloadCommand* getNextDownloadCommand() const + { + return _nextDownloadCommand; + } }; typedef SharedHandle<FileAllocationEntry> FileAllocationEntryHandle; |
