summaryrefslogtreecommitdiff
path: root/src/FileAllocationEntry.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-05-31 15:56:20 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-05-31 15:56:20 +0000
commitccdd5b31a3dfa07cd13d6f7f0f5eaa3d8ff8a61e (patch)
tree4513f2373675d69e97170388b93a455cbb53b333 /src/FileAllocationEntry.h
parent8eeeac71928919fa5e4fb0c1c389fa229637bea3 (diff)
2007-06-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/FileAllocationCommand.cc: Derived from RealtimeCommand. * src/CheckIntegrityCommand.cc: Derived from RealtimeCommand. * src/MetalinkEntry.h (checksum): Changed to ChecksumHandle * src/MetalinkRequestInfo.cc (checksum): Changed to ChecksumHandle * src/File.cc (mkdirs): OPEN_MODE -> DIR_OPEN_MODE * src/common.h (DIR_OPEN_MODE): New definition * src/RequestGroup.cc (prepareForNextAction): Added an argument. * src/message.h (MSG_GOOD_CHECKSUM): New definition (MSG_BAD_CHECKSUM): New definition * src/HttpResponseCommand.cc (handleDefaultEncoding): Continue download sequence in new non-segmented download. * src/FileAllocationEntry.h (_nextDownloadCommand): New variable. * src/DownloadCommand.cc (prepareForNextSegment): Create ChecksumCommand if checksum is available. * src/RealtimeCommand.h, src/RealtimeCommand.cc: New class. * src/IteratableChecksumValidator.h, src/IteratableChecksumValidator.cc: New class. * src/ChecksumCommand.h, src/ChecksumCommand.cc: New class.
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;