diff --git a/ChangeLog b/ChangeLog index cf2dce3d..6ff4490f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,29 @@ +2009-04-23 Tatsuhiro Tsujikawa + + Removed RequestGroupAware + * src/AbstractCommand.cc + * src/AbstractCommand.h + * src/ActivePeerConnectionCommand.cc + * src/ActivePeerConnectionCommand.h + * src/DHTGetPeersCommand.cc + * src/DHTGetPeersCommand.h + * src/InitiatorMSEHandshakeCommand.cc + * src/InitiatorMSEHandshakeCommand.h + * src/Makefile.am + * src/PeerInitiateConnectionCommand.cc + * src/PeerInitiateConnectionCommand.h + * src/PeerInteractionCommand.cc + * src/PeerInteractionCommand.h + * src/RealtimeCommand.cc + * src/RealtimeCommand.h + * src/RequestGroupAware.cc: Removed + * src/RequestGroupAware.h: Removed + * src/SeedCheckCommand.cc + * src/SeedCheckCommand.h + * src/SleepCommand.cc + * src/TrackerWatcherCommand.cc + * src/TrackerWatcherCommand.h + 2009-04-23 Tatsuhiro Tsujikawa Rewritten PeerListProcessor diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc index 98422072..a55e8d60 100644 --- a/src/AbstractCommand.cc +++ b/src/AbstractCommand.cc @@ -70,7 +70,7 @@ AbstractCommand::AbstractCommand(int32_t cuid, RequestGroup* requestGroup, DownloadEngine* e, const SocketHandle& s): - Command(cuid), RequestGroupAware(requestGroup), + Command(cuid), _requestGroup(requestGroup), req(req), e(e), socket(s), checkSocketIsReadable(false), checkSocketIsWritable(false), nameResolverCheck(false) @@ -80,6 +80,7 @@ AbstractCommand::AbstractCommand(int32_t cuid, } timeout = _requestGroup->getTimeout(); _requestGroup->increaseStreamConnection(); + _requestGroup->increaseNumCommand(); } AbstractCommand::~AbstractCommand() { @@ -88,6 +89,7 @@ AbstractCommand::~AbstractCommand() { #ifdef ENABLE_ASYNC_DNS disableNameResolverCheck(_asyncNameResolver); #endif // ENABLE_ASYNC_DNS + _requestGroup->decreaseNumCommand(); _requestGroup->decreaseStreamConnection(); } diff --git a/src/AbstractCommand.h b/src/AbstractCommand.h index a4570c95..c33ab841 100644 --- a/src/AbstractCommand.h +++ b/src/AbstractCommand.h @@ -38,7 +38,6 @@ #include "Command.h" #include "SharedHandle.h" #include "TimeA2.h" -#include "RequestGroupAware.h" namespace aria2 { @@ -52,11 +51,12 @@ class SocketCore; class AsyncNameResolver; #endif // ENABLE_ASYNC_DNS -class AbstractCommand : public Command, public RequestGroupAware { +class AbstractCommand : public Command { private: Time checkPoint; time_t timeout; protected: + RequestGroup* _requestGroup; SharedHandle req; DownloadEngine* e; SharedHandle socket; diff --git a/src/ActivePeerConnectionCommand.cc b/src/ActivePeerConnectionCommand.cc index 0a415e13..79405c87 100644 --- a/src/ActivePeerConnectionCommand.cc +++ b/src/ActivePeerConnectionCommand.cc @@ -59,7 +59,7 @@ ActivePeerConnectionCommand::ActivePeerConnectionCommand time_t interval) : Command(cuid), - RequestGroupAware(requestGroup), + _requestGroup(requestGroup), _btContext(btContext), interval(interval), e(e), @@ -71,9 +71,13 @@ ActivePeerConnectionCommand::ActivePeerConnectionCommand if(maxDownloadSpeed > 0) { _thresholdSpeed = std::min(maxDownloadSpeed, _thresholdSpeed); } + _requestGroup->increaseNumCommand(); } -ActivePeerConnectionCommand::~ActivePeerConnectionCommand() {} +ActivePeerConnectionCommand::~ActivePeerConnectionCommand() +{ + _requestGroup->decreaseNumCommand(); +} bool ActivePeerConnectionCommand::execute() { if(_btRuntime->isHalt()) { diff --git a/src/ActivePeerConnectionCommand.h b/src/ActivePeerConnectionCommand.h index 77b6a6f1..aae2e5dc 100644 --- a/src/ActivePeerConnectionCommand.h +++ b/src/ActivePeerConnectionCommand.h @@ -37,11 +37,11 @@ #include "Command.h" #include "SharedHandle.h" -#include "RequestGroupAware.h" #include "TimeA2.h" namespace aria2 { +class RequestGroup; class DownloadEngine; class Peer; class BtContext; @@ -50,10 +50,9 @@ class PieceStorage; class PeerStorage; class BtAnnounce; -class ActivePeerConnectionCommand : public Command, - public RequestGroupAware -{ +class ActivePeerConnectionCommand : public Command { private: + RequestGroup* _requestGroup; SharedHandle _btContext; SharedHandle _btRuntime; SharedHandle _pieceStorage; @@ -72,9 +71,9 @@ public: DownloadEngine* e, const SharedHandle& btContext, time_t interval); - - virtual ~ActivePeerConnectionCommand(); + virtual ~ActivePeerConnectionCommand(); + virtual bool execute(); void connectToPeer(const SharedHandle& peer); diff --git a/src/DHTGetPeersCommand.cc b/src/DHTGetPeersCommand.cc index f3ffbd10..594ff8ff 100644 --- a/src/DHTGetPeersCommand.cc +++ b/src/DHTGetPeersCommand.cc @@ -53,14 +53,19 @@ DHTGetPeersCommand::DHTGetPeersCommand(int32_t cuid, DownloadEngine* e, const BtContextHandle& ctx): Command(cuid), - RequestGroupAware(requestGroup), + _requestGroup(requestGroup), _btContext(ctx), _e(e), _numRetry(0), _lastGetPeerTime(0) -{} +{ + _requestGroup->increaseNumCommand(); +} -DHTGetPeersCommand::~DHTGetPeersCommand() {} +DHTGetPeersCommand::~DHTGetPeersCommand() +{ + _requestGroup->decreaseNumCommand(); +} bool DHTGetPeersCommand::execute() { diff --git a/src/DHTGetPeersCommand.h b/src/DHTGetPeersCommand.h index 27548d10..f29bbc8e 100644 --- a/src/DHTGetPeersCommand.h +++ b/src/DHTGetPeersCommand.h @@ -36,12 +36,12 @@ #define _D_DHT_GET_PEERS_COMMAND_H_ #include "Command.h" -#include "RequestGroupAware.h" #include "SharedHandle.h" #include "TimeA2.h" namespace aria2 { +class RequestGroup; class DHTTaskQueue; class DHTTaskFactory; class DHTTask; @@ -51,9 +51,7 @@ class BtContext; class BtRuntime; class PeerStorage; -class DHTGetPeersCommand:public Command, - public RequestGroupAware -{ +class DHTGetPeersCommand:public Command { private: static const time_t GET_PEER_INTERVAL = (15*60); @@ -61,6 +59,8 @@ private: static const size_t MAX_RETRIES = 10; + RequestGroup* _requestGroup; + SharedHandle _btContext; SharedHandle _btRuntime; diff --git a/src/InitiatorMSEHandshakeCommand.cc b/src/InitiatorMSEHandshakeCommand.cc index fcc9ee73..e669b918 100644 --- a/src/InitiatorMSEHandshakeCommand.cc +++ b/src/InitiatorMSEHandshakeCommand.cc @@ -51,6 +51,7 @@ #include "MSEHandshake.h" #include "ARC4Encryptor.h" #include "ARC4Decryptor.h" +#include "RequestGroup.h" namespace aria2 { @@ -64,7 +65,7 @@ InitiatorMSEHandshakeCommand::InitiatorMSEHandshakeCommand const SharedHandle& s): PeerAbstractCommand(cuid, p, e, s), - RequestGroupAware(requestGroup), + _requestGroup(requestGroup), _btContext(btContext), _btRuntime(btRuntime), _sequence(INITIATOR_SEND_KEY), @@ -75,10 +76,12 @@ InitiatorMSEHandshakeCommand::InitiatorMSEHandshakeCommand setTimeout(e->option->getAsInt(PREF_PEER_CONNECTION_TIMEOUT)); _btRuntime->increaseConnections(); + _requestGroup->increaseNumCommand(); } InitiatorMSEHandshakeCommand::~InitiatorMSEHandshakeCommand() { + _requestGroup->decreaseNumCommand(); _btRuntime->decreaseConnections(); delete _mseHandshake; diff --git a/src/InitiatorMSEHandshakeCommand.h b/src/InitiatorMSEHandshakeCommand.h index 4db8dd4a..799382eb 100644 --- a/src/InitiatorMSEHandshakeCommand.h +++ b/src/InitiatorMSEHandshakeCommand.h @@ -36,19 +36,17 @@ #define _D_INITIATOR_MSE_HANDSHAKE_COMMAND_H_ #include "PeerAbstractCommand.h" -#include "RequestGroupAware.h" namespace aria2 { +class RequestGroup; class BtContext; class PeerStorage; class PieceStorage; class BtRuntime; class MSEHandshake; -class InitiatorMSEHandshakeCommand : public PeerAbstractCommand, - public RequestGroupAware -{ +class InitiatorMSEHandshakeCommand : public PeerAbstractCommand { public: enum Seq { INITIATOR_SEND_KEY, @@ -60,6 +58,8 @@ public: INITIATOR_RECEIVE_PAD_D, }; private: + RequestGroup* _requestGroup; + SharedHandle _btContext; SharedHandle _peerStorage; diff --git a/src/Makefile.am b/src/Makefile.am index abf8a448..23789f56 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -82,7 +82,6 @@ SRCS = Socket.h\ NameMatchOptionHandler.h\ NameResolver.cc NameResolver.h\ RequestGroup.cc RequestGroup.h\ - RequestGroupAware.cc RequestGroupAware.h\ RequestGroupMan.cc RequestGroupMan.h\ FileAllocationMan.h\ FileAllocationCommand.cc FileAllocationCommand.h\ diff --git a/src/Makefile.in b/src/Makefile.in index 06a64a58..77c932f3 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -333,9 +333,8 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \ OptionHandlerFactory.cc OptionHandlerFactory.h \ OptionHandler.cc OptionHandler.h OptionHandlerImpl.h \ NameMatchOptionHandler.h NameResolver.cc NameResolver.h \ - RequestGroup.cc RequestGroup.h RequestGroupAware.cc \ - RequestGroupAware.h RequestGroupMan.cc RequestGroupMan.h \ - FileAllocationMan.h FileAllocationCommand.cc \ + RequestGroup.cc RequestGroup.h RequestGroupMan.cc \ + RequestGroupMan.h FileAllocationMan.h FileAllocationCommand.cc \ FileAllocationCommand.h FillRequestGroupCommand.cc \ FillRequestGroupCommand.h FileAllocationDispatcherCommand.cc \ FileAllocationDispatcherCommand.h FileAllocationEntry.cc \ @@ -760,8 +759,7 @@ am__objects_23 = SocketCore.$(OBJEXT) Command.$(OBJEXT) \ AuthConfigFactory.$(OBJEXT) OptionParser.$(OBJEXT) \ OptionHandlerFactory.$(OBJEXT) OptionHandler.$(OBJEXT) \ NameResolver.$(OBJEXT) RequestGroup.$(OBJEXT) \ - RequestGroupAware.$(OBJEXT) RequestGroupMan.$(OBJEXT) \ - FileAllocationCommand.$(OBJEXT) \ + RequestGroupMan.$(OBJEXT) FileAllocationCommand.$(OBJEXT) \ FillRequestGroupCommand.$(OBJEXT) \ FileAllocationDispatcherCommand.$(OBJEXT) \ FileAllocationEntry.$(OBJEXT) \ @@ -1066,9 +1064,8 @@ SRCS = Socket.h SocketCore.cc SocketCore.h BinaryStream.h Command.cc \ OptionHandlerFactory.cc OptionHandlerFactory.h \ OptionHandler.cc OptionHandler.h OptionHandlerImpl.h \ NameMatchOptionHandler.h NameResolver.cc NameResolver.h \ - RequestGroup.cc RequestGroup.h RequestGroupAware.cc \ - RequestGroupAware.h RequestGroupMan.cc RequestGroupMan.h \ - FileAllocationMan.h FileAllocationCommand.cc \ + RequestGroup.cc RequestGroup.h RequestGroupMan.cc \ + RequestGroupMan.h FileAllocationMan.h FileAllocationCommand.cc \ FileAllocationCommand.h FillRequestGroupCommand.cc \ FillRequestGroupCommand.h FileAllocationDispatcherCommand.cc \ FileAllocationDispatcherCommand.h FileAllocationEntry.cc \ @@ -1481,7 +1478,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ReceiverMSEHandshakeCommand.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Request.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestGroup.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestGroupAware.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestGroupEntry.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestGroupMan.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestSlot.Po@am__quote@ diff --git a/src/PeerInitiateConnectionCommand.cc b/src/PeerInitiateConnectionCommand.cc index d304b89c..a815bced 100644 --- a/src/PeerInitiateConnectionCommand.cc +++ b/src/PeerInitiateConnectionCommand.cc @@ -47,6 +47,7 @@ #include "PeerStorage.h" #include "PieceStorage.h" #include "PeerConnection.h" +#include "RequestGroup.h" namespace aria2 { @@ -60,16 +61,18 @@ PeerInitiateConnectionCommand::PeerInitiateConnectionCommand bool mseHandshakeEnabled) : PeerAbstractCommand(cuid, peer, e), - RequestGroupAware(requestGroup), + _requestGroup(requestGroup), _btContext(btContext), _btRuntime(btRuntime), _mseHandshakeEnabled(mseHandshakeEnabled) { _btRuntime->increaseConnections(); + _requestGroup->increaseNumCommand(); } PeerInitiateConnectionCommand::~PeerInitiateConnectionCommand() { + _requestGroup->decreaseNumCommand(); _btRuntime->decreaseConnections(); } diff --git a/src/PeerInitiateConnectionCommand.h b/src/PeerInitiateConnectionCommand.h index 7a1eced0..9ffd5afa 100644 --- a/src/PeerInitiateConnectionCommand.h +++ b/src/PeerInitiateConnectionCommand.h @@ -36,19 +36,19 @@ #define _D_PEER_INITIATE_CONNECTION_H_ #include "PeerAbstractCommand.h" -#include "RequestGroupAware.h" namespace aria2 { +class RequestGroup; class BtContext; class BtRuntime; class PeerStorage; class PieceStorage; -class PeerInitiateConnectionCommand : public PeerAbstractCommand, - public RequestGroupAware -{ +class PeerInitiateConnectionCommand : public PeerAbstractCommand { private: + RequestGroup* _requestGroup; + SharedHandle _btContext; SharedHandle _btRuntime; diff --git a/src/PeerInteractionCommand.cc b/src/PeerInteractionCommand.cc index 3d27584d..2b6b8f65 100644 --- a/src/PeerInteractionCommand.cc +++ b/src/PeerInteractionCommand.cc @@ -84,7 +84,7 @@ PeerInteractionCommand::PeerInteractionCommand Seq sequence, const PeerConnectionHandle& passedPeerConnection) :PeerAbstractCommand(cuid, p, e, s), - RequestGroupAware(requestGroup), + _requestGroup(requestGroup), _btContext(btContext), _btRuntime(btRuntime), _pieceStorage(pieceStorage), @@ -193,6 +193,7 @@ PeerInteractionCommand::PeerInteractionCommand maxDownloadSpeedLimit = e->option->getAsInt(PREF_MAX_DOWNLOAD_LIMIT); _btRuntime->increaseConnections(); + _requestGroup->increaseNumCommand(); } PeerInteractionCommand::~PeerInteractionCommand() { @@ -201,7 +202,8 @@ PeerInteractionCommand::~PeerInteractionCommand() { peer->getBitfieldLength()); } peer->releaseSessionResource(); - + + _requestGroup->decreaseNumCommand(); _btRuntime->decreaseConnections(); //logger->debug("CUID#%d - unregistered message factory using ID:%s", //cuid, peer->getId().c_str()); diff --git a/src/PeerInteractionCommand.h b/src/PeerInteractionCommand.h index 4e793484..7a467f9a 100644 --- a/src/PeerInteractionCommand.h +++ b/src/PeerInteractionCommand.h @@ -36,10 +36,10 @@ #define _D_PEER_INTERACTION_COMMAND_H_ #include "PeerAbstractCommand.h" -#include "RequestGroupAware.h" namespace aria2 { +class RequestGroup; class BtContext; class BtInteractive; class PeerConnection; @@ -47,9 +47,7 @@ class BtRuntime; class PeerStorage; class PieceStorage; -class PeerInteractionCommand : public PeerAbstractCommand, - public RequestGroupAware -{ +class PeerInteractionCommand : public PeerAbstractCommand { public: enum Seq { INITIATOR_SEND_HANDSHAKE, @@ -57,6 +55,8 @@ public: RECEIVER_WAIT_HANDSHAKE, WIRED}; private: + RequestGroup* _requestGroup; + SharedHandle _btContext; SharedHandle _btRuntime; diff --git a/src/RealtimeCommand.cc b/src/RealtimeCommand.cc index 14caa3a5..0f444ee4 100644 --- a/src/RealtimeCommand.cc +++ b/src/RealtimeCommand.cc @@ -35,16 +35,24 @@ #include "RealtimeCommand.h" #include "DownloadEngine.h" #include "Exception.h" +#include "RequestGroup.h" namespace aria2 { RealtimeCommand::RealtimeCommand(int cuid, RequestGroup* requestGroup, DownloadEngine* e): Command(cuid), - RequestGroupAware(requestGroup), + _requestGroup(requestGroup), _e(e) { setStatusRealtime(); + + _requestGroup->increaseNumCommand(); +} + +RealtimeCommand::~RealtimeCommand() +{ + _requestGroup->decreaseNumCommand(); } bool RealtimeCommand::execute() diff --git a/src/RealtimeCommand.h b/src/RealtimeCommand.h index 40af4792..8892cf8a 100644 --- a/src/RealtimeCommand.h +++ b/src/RealtimeCommand.h @@ -36,20 +36,21 @@ #define _D_REALTIME_COMMAND_H_ #include "Command.h" -#include "RequestGroupAware.h" namespace aria2 { +class RequestGroup; class DownloadEngine; class Exception; -class RealtimeCommand : public Command, public RequestGroupAware { +class RealtimeCommand : public Command { protected: + RequestGroup* _requestGroup; DownloadEngine* _e; public: RealtimeCommand(int cuid, RequestGroup* requestGroup, DownloadEngine* e); - virtual ~RealtimeCommand() {} + virtual ~RealtimeCommand(); virtual bool execute(); diff --git a/src/RequestGroupAware.cc b/src/RequestGroupAware.cc deleted file mode 100644 index 4ac77d24..00000000 --- a/src/RequestGroupAware.cc +++ /dev/null @@ -1,56 +0,0 @@ -/* */ -#include "RequestGroupAware.h" -#include "RequestGroup.h" - -namespace aria2 { - -RequestGroupAware::RequestGroupAware(RequestGroup* requestGroup): - _requestGroup(requestGroup) -{ - _requestGroup->increaseNumCommand(); -} - -RequestGroupAware::~RequestGroupAware() -{ - _requestGroup->decreaseNumCommand(); -} - -RequestGroup* RequestGroupAware::getRequestGroup() const -{ - return _requestGroup; -} - -} // namespace aria2 diff --git a/src/RequestGroupAware.h b/src/RequestGroupAware.h deleted file mode 100644 index 67c407f2..00000000 --- a/src/RequestGroupAware.h +++ /dev/null @@ -1,57 +0,0 @@ -/* */ -#ifndef _D_REQUEST_GROUP_AWARE_H_ -#define _D_REQUEST_GROUP_AWARE_H_ - -#include "common.h" - -namespace aria2 { - -class RequestGroup; - -class RequestGroupAware { -protected: - RequestGroup* _requestGroup; -public: - RequestGroupAware(RequestGroup* requestGroup); - - ~RequestGroupAware(); - - RequestGroup* getRequestGroup() const; -}; - -} // namespace aria2 - -#endif // _D_REQUEST_GROUP_AWARE_H_ diff --git a/src/SeedCheckCommand.cc b/src/SeedCheckCommand.cc index 9f24ca9f..d005f68e 100644 --- a/src/SeedCheckCommand.cc +++ b/src/SeedCheckCommand.cc @@ -40,6 +40,7 @@ #include "Logger.h" #include "SeedCriteria.h" #include "message.h" +#include "RequestGroup.h" namespace aria2 { @@ -49,13 +50,19 @@ SeedCheckCommand::SeedCheckCommand(int cuid, const SharedHandle& btContext, const SeedCriteriaHandle& seedCriteria) :Command(cuid), - RequestGroupAware(requestGroup), + _requestGroup(requestGroup), e(e), _btContext(btContext), seedCriteria(seedCriteria), checkStarted(false) { setStatusRealtime(); + _requestGroup->increaseNumCommand(); +} + +SeedCheckCommand::~SeedCheckCommand() +{ + _requestGroup->decreaseNumCommand(); } bool SeedCheckCommand::execute() { diff --git a/src/SeedCheckCommand.h b/src/SeedCheckCommand.h index 1a78a4b2..19f6cf5d 100644 --- a/src/SeedCheckCommand.h +++ b/src/SeedCheckCommand.h @@ -37,20 +37,20 @@ #include "Command.h" #include "SharedHandle.h" -#include "RequestGroupAware.h" namespace aria2 { +class RequestGroup; class DownloadEngine; class SeedCriteria; class BtContext; class BtRuntime; class PieceStorage; -class SeedCheckCommand : public Command, - public RequestGroupAware +class SeedCheckCommand : public Command { private: + RequestGroup* _requestGroup; DownloadEngine* e; SharedHandle _btContext; SharedHandle _pieceStorage; @@ -64,7 +64,7 @@ public: const SharedHandle& btContext, const SharedHandle& seedCriteria); - virtual ~SeedCheckCommand() {} + virtual ~SeedCheckCommand(); virtual bool execute(); diff --git a/src/SleepCommand.cc b/src/SleepCommand.cc index ff8f63cb..17912215 100644 --- a/src/SleepCommand.cc +++ b/src/SleepCommand.cc @@ -33,7 +33,6 @@ */ /* copyright --> */ #include "SleepCommand.h" -#include "RequestGroupAware.h" #include "RequestGroup.h" #include "DownloadEngine.h" diff --git a/src/TrackerWatcherCommand.cc b/src/TrackerWatcherCommand.cc index b68b2b80..b4a05117 100644 --- a/src/TrackerWatcherCommand.cc +++ b/src/TrackerWatcherCommand.cc @@ -67,12 +67,17 @@ TrackerWatcherCommand::TrackerWatcherCommand(int32_t cuid, DownloadEngine* e, const BtContextHandle& btContext): Command(cuid), - RequestGroupAware(requestGroup), + _requestGroup(requestGroup), e(e), - _btContext(btContext) {} - -TrackerWatcherCommand::~TrackerWatcherCommand() {} + _btContext(btContext) +{ + _requestGroup->increaseNumCommand(); +} +TrackerWatcherCommand::~TrackerWatcherCommand() +{ + _requestGroup->decreaseNumCommand(); +} bool TrackerWatcherCommand::execute() { if(_requestGroup->isForceHaltRequested()) { diff --git a/src/TrackerWatcherCommand.h b/src/TrackerWatcherCommand.h index 3611dc7e..a98f33a4 100644 --- a/src/TrackerWatcherCommand.h +++ b/src/TrackerWatcherCommand.h @@ -37,7 +37,6 @@ #include "Command.h" #include "SharedHandle.h" -#include "RequestGroupAware.h" namespace aria2 { @@ -49,10 +48,11 @@ class PieceStorage; class BtRuntime; class BtAnnounce; -class TrackerWatcherCommand : public Command, - public RequestGroupAware +class TrackerWatcherCommand : public Command { private: + RequestGroup* _requestGroup; + DownloadEngine* e; SharedHandle _btContext;