summaryrefslogtreecommitdiff
path: root/src/PeerAbstractCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-10-11 16:58:24 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-10-11 16:58:24 +0000
commit048a2cf59737f761876e81a77e8d064c45c752d7 (patch)
tree65c9d5498aafe6a8c8e640ddfcc43c7013504d0d /src/PeerAbstractCommand.cc
parente26bbbb9eee140ba24402fe872a752b42f0077de (diff)
2007-10-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Implemented BitTorrent/http/ftp integrated download. I've rewritten lots of files and now some headers have forward class declarations to reduce compile time. The implementation is extremely alpha stage, I recommend to use this for testing purpose only.
Diffstat (limited to 'src/PeerAbstractCommand.cc')
-rw-r--r--src/PeerAbstractCommand.cc19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/PeerAbstractCommand.cc b/src/PeerAbstractCommand.cc
index 86c44338..4454a519 100644
--- a/src/PeerAbstractCommand.cc
+++ b/src/PeerAbstractCommand.cc
@@ -33,33 +33,34 @@
*/
/* copyright --> */
#include "PeerAbstractCommand.h"
+#include "Peer.h"
+#include "DownloadEngine.h"
+#include "Option.h"
#include "DlAbortEx.h"
#include "DlRetryEx.h"
#include "Util.h"
#include "message.h"
#include "prefs.h"
-PeerAbstractCommand::PeerAbstractCommand(int32_t cuid, const PeerHandle& peer,
- TorrentDownloadEngine* e,
- const BtContextHandle& btContext,
+PeerAbstractCommand::PeerAbstractCommand(int32_t cuid,
+ const PeerHandle& peer,
+ DownloadEngine* e,
const SocketHandle& s)
- :BtContextAwareCommand(cuid, btContext), e(e), socket(s), peer(peer),
+ :Command(cuid), e(e), socket(s), peer(peer),
checkSocketIsReadable(false), checkSocketIsWritable(false),
uploadLimitCheck(false), uploadLimit(0), noCheck(false)
{
setReadCheckSocket(socket);
timeout = e->option->getAsInt(PREF_BT_TIMEOUT);
- btRuntime->increaseConnections();
}
PeerAbstractCommand::~PeerAbstractCommand() {
disableReadCheckSocket();
disableWriteCheckSocket();
- btRuntime->decreaseConnections();
}
bool PeerAbstractCommand::execute() {
- if(btRuntime->isHalt()) {
+ if(exitBeforeExecute()) {
peer->resetStatus();
return true;
}
@@ -96,10 +97,6 @@ bool PeerAbstractCommand::prepareForRetry(int32_t wait) {
return true;
}
-void PeerAbstractCommand::onAbort(Exception* ex) {
- peerStorage->returnPeer(peer);
-}
-
void PeerAbstractCommand::disableReadCheckSocket() {
if(checkSocketIsReadable) {
e->deleteSocketForReadCheck(readCheckTarget, this);