diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-05-05 15:19:02 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-05-05 15:19:02 +0000 |
| commit | 3c877a9df4693004cd28aefe38c790907ffc5ddd (patch) | |
| tree | d58f81f6c6819c1190b8425f395520813ff32ec4 /src/DownloadCommand.cc | |
| parent | 7893340cb34e9686020346e0503dd29c187491fb (diff) | |
2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Supported segmented downloading with chunked transfer encoding and
content-length.
* src/DownloadCommand.cc
* src/HttpResponseCommand.cc
Diffstat (limited to 'src/DownloadCommand.cc')
| -rw-r--r-- | src/DownloadCommand.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/DownloadCommand.cc b/src/DownloadCommand.cc index 8b6b05ac..14a31834 100644 --- a/src/DownloadCommand.cc +++ b/src/DownloadCommand.cc @@ -165,6 +165,7 @@ bool DownloadCommand::executeInternal() { _requestGroup->getSegmentMan()->updateDownloadSpeedFor(peerStat); bool segmentComplete = false; + // Note that GrowSegment::complete() always returns false. if(_transferEncodingDecoder.isNull() && _contentEncodingDecoder.isNull()) { if(segment->complete()) { segmentComplete = true; @@ -172,6 +173,8 @@ bool DownloadCommand::executeInternal() { !socket->wantRead() && !socket->wantWrite()) { segmentComplete = true; } + } else if(!_transferEncodingDecoder.isNull() && segment->complete()) { + segmentComplete = true; } else if((_transferEncodingDecoder.isNull() || _transferEncodingDecoder->finished()) && (_contentEncodingDecoder.isNull() || |
