From c3c05e9ab1a7600c664e8f29f0baae0c22455599 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 9 May 2008 14:28:46 +0000 Subject: [PATCH] 2008-05-09 Tatsuhiro Tsujikawa Set Request::setKeepAliveHint() and Request::setPipeliningHint() in InitiateConnectionCommandFactory. They should be set only when the protocol is HTTP or HTTPS. * src/InitiateConnectionCommandFactory.cc * src/RequestGroup.cc --- ChangeLog | 8 ++++++++ src/InitiateConnectionCommandFactory.cc | 10 ++++++++++ src/RequestGroup.cc | 7 ------- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 24ed37e6..4e551025 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-05-09 Tatsuhiro Tsujikawa + + Set Request::setKeepAliveHint() and Request::setPipeliningHint() + in InitiateConnectionCommandFactory. They should be set only when + the protocol is HTTP or HTTPS. + * src/InitiateConnectionCommandFactory.cc + * src/RequestGroup.cc + 2008-05-09 Tatsuhiro Tsujikawa Fixed infinite loop in checksum checking. diff --git a/src/InitiateConnectionCommandFactory.cc b/src/InitiateConnectionCommandFactory.cc index ca3a7a75..86d9ba80 100644 --- a/src/InitiateConnectionCommandFactory.cc +++ b/src/InitiateConnectionCommandFactory.cc @@ -40,6 +40,8 @@ #include "DownloadEngine.h" #include "DlAbortEx.h" #include "StringFormat.h" +#include "Option.h" +#include "prefs.h" namespace aria2 { @@ -51,6 +53,14 @@ InitiateConnectionCommandFactory::createInitiateConnectionCommand(int32_t cuid, || req->getProtocol() == "https" #endif // ENABLE_SSL ) { + + if(e->option->getAsBool(PREF_ENABLE_HTTP_KEEP_ALIVE)) { + req->setKeepAliveHint(true); + } + if(e->option->getAsBool(PREF_ENABLE_HTTP_PIPELINING)) { + req->setPipeliningHint(true); + } + return new HttpInitiateConnectionCommand(cuid, req, requestGroup, e); } else if(req->getProtocol() == "ftp") { return new FtpInitiateConnectionCommand(cuid, req, requestGroup, e); diff --git a/src/RequestGroup.cc b/src/RequestGroup.cc index c3b03cca..8c984f2c 100644 --- a/src/RequestGroup.cc +++ b/src/RequestGroup.cc @@ -491,13 +491,6 @@ Commands RequestGroup::createNextCommand(DownloadEngine* e, unsigned int numComm req->setReferer(_option->get(PREF_REFERER)); req->setMethod(method); - if(_option->getAsBool(PREF_ENABLE_HTTP_KEEP_ALIVE)) { - req->setKeepAliveHint(true); - } - if(_option->getAsBool(PREF_ENABLE_HTTP_PIPELINING)) { - req->setPipeliningHint(true); - } - Command* command = InitiateConnectionCommandFactory::createInitiateConnectionCommand(CUIDCounterSingletonHolder::instance()->newID(), req, this, e); ServerHostHandle sv(new ServerHost(command->getCuid(), req->getHost())); registerServerHost(sv);