diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-03-16 14:21:29 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-03-16 14:21:29 +0000 |
| commit | 113c8fac7f175db8a415c368ceefd62428d45967 (patch) | |
| tree | 84b4f1b4d30f25e31d055397462f4293f316a825 /src/Command.cc | |
| parent | 11907c175d9e3e6f4069df79dade320b6f93cd7f (diff) | |
2007-03-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
To reduce overhead to find commands whose socket is either
readable or writable in the download engine loop:
* src/Command.h, src/Command.cc
(STATUS): New enum.
(status): New variable.
(statusMatch): New function.
(setStatusActive): New function.
(setStatusInactive): New function.
* src/DownloadEngine.h, src/DownloadEngine.cc
(executeCommand): New function.
(run): Simplified.
(waitData): Call Command::setStatusActive() when command's
socket is
readable or writable.
Diffstat (limited to 'src/Command.cc')
| -rw-r--r-- | src/Command.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/Command.cc b/src/Command.cc index 7f701883..de53c59a 100644 --- a/src/Command.cc +++ b/src/Command.cc @@ -35,3 +35,14 @@ #include "Command.h" int Command::uuidGen = 0; + +bool Command::statusMatch(Command::STATUS statusFilter) const +{ + if(statusFilter == STATUS_ALL) { + return true; + } else if(statusFilter == status) { + return true; + } else { + return false; + } +} |
