summaryrefslogtreecommitdiff
path: root/src/FileAllocationEntry.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/FileAllocationEntry.h')
-rw-r--r--src/FileAllocationEntry.h21
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;