From ccdd5b31a3dfa07cd13d6f7f0f5eaa3d8ff8a61e Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Thu, 31 May 2007 15:56:20 +0000 Subject: 2007-06-01 Tatsuhiro Tsujikawa * 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. --- src/FileAllocationEntry.h | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'src/FileAllocationEntry.h') 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 FileAllocationEntryHandle; -- cgit