diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-07-17 03:23:56 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-07-17 03:23:56 +0000 |
| commit | d0b727f6dc7131ea5c478bcfdff3b0408f2b26f3 (patch) | |
| tree | f501ae4dfa91fd00a28076c762dc67d4dea6cb17 /src/AbstractCommand.cc | |
| parent | 036abeee1182ccac0c80351d7d7dd3cbac7ae3ac (diff) | |
2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Count the number of command used in HTTP(S)/FTP and the number of
connections in HTTP(S)/FTP independently. The former is used to
determin whether additional command is needed. The latter is used
to report user to how many connections are used in a download.
* src/AbstractCommand.cc
* src/AbstractCommand.h
* src/CreateRequestCommand.cc
* src/RequestGroup.cc
* src/RequestGroup.h
Diffstat (limited to 'src/AbstractCommand.cc')
| -rw-r--r-- | src/AbstractCommand.cc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc index fde9c7e5..29e9beb5 100644 --- a/src/AbstractCommand.cc +++ b/src/AbstractCommand.cc @@ -79,18 +79,23 @@ AbstractCommand::AbstractCommand(cuid_t cuid, const SharedHandle<FileEntry>& fileEntry, RequestGroup* requestGroup, DownloadEngine* e, - const SocketHandle& s): + const SocketHandle& s, + bool incNumConnection): Command(cuid), checkPoint_(global::wallclock), timeout_(requestGroup->getTimeout()), requestGroup_(requestGroup), req_(req), fileEntry_(fileEntry), e_(e), socket_(s), checkSocketIsReadable_(false), checkSocketIsWritable_(false), - nameResolverCheck_(false) + nameResolverCheck_(false), + incNumConnection_(incNumConnection) { if(!socket_.isNull() && socket_->isOpen()) { setReadCheckSocket(socket_); } - requestGroup_->increaseStreamConnection(); + if(incNumConnection_) { + requestGroup->increaseStreamConnection(); + } + requestGroup_->increaseStreamCommand(); requestGroup_->increaseNumCommand(); } @@ -101,7 +106,10 @@ AbstractCommand::~AbstractCommand() { disableNameResolverCheck(asyncNameResolver_); #endif // ENABLE_ASYNC_DNS requestGroup_->decreaseNumCommand(); - requestGroup_->decreaseStreamConnection(); + requestGroup_->decreaseStreamCommand(); + if(incNumConnection_) { + requestGroup_->decreaseStreamConnection(); + } } bool AbstractCommand::execute() { |
