From 2a2c8c5da0e2d337b193886ac92df77005626034 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sat, 4 Jul 2009 10:22:44 +0000 Subject: [PATCH] 2009-07-04 Tatsuhiro Tsujikawa If pipelining is enabled, we can always pool socket. * src/HttpDownloadCommand.cc --- ChangeLog | 5 +++++ src/HttpDownloadCommand.cc | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 60de64d2..c433178d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-07-04 Tatsuhiro Tsujikawa + + If pipelining is enabled, we can always pool socket. + * src/HttpDownloadCommand.cc + 2009-07-04 Tatsuhiro Tsujikawa In a single file download, file size becomes known just after diff --git a/src/HttpDownloadCommand.cc b/src/HttpDownloadCommand.cc index 048fa8b4..f9f55573 100644 --- a/src/HttpDownloadCommand.cc +++ b/src/HttpDownloadCommand.cc @@ -80,12 +80,11 @@ bool HttpDownloadCommand::prepareForNextSegment() { e->commands.push_back(command); return true; } else { - uint64_t loff = _fileEntry->gtoloff(_segments.front()->getPositionToWrite()); - if((req->isPipeliningEnabled() && loff == _fileEntry->getLength()) || + if(req->isPipeliningEnabled() || (req->isKeepAliveEnabled() && ((!_transferEncodingDecoder.isNull() && _requestGroup->downloadFinished()) || - loff == _fileEntry->getLength()))) { + _fileEntry->getLastOffset() == _segments.front()->getPositionToWrite()))) { e->poolSocket(req, isProxyDefined(), socket); } // The request was sent assuming that server supported pipelining, but