Browse Source

2009-05-01 Tatsuhiro Tsujikawa <[email protected]>

	Avoid circular reference between RequestGroup and
	AdaptiveURISelector
	* src/RequestGroupMan.cc
	* src/AdaptiveURISelector.cc
	* src/AdaptiveURISelector.h
Tatsuhiro Tsujikawa 16 years ago
parent
commit
d0b485cba0
4 changed files with 12 additions and 5 deletions
  1. 7 0
      ChangeLog
  2. 1 2
      src/AdaptiveURISelector.cc
  3. 3 2
      src/AdaptiveURISelector.h
  4. 1 1
      src/RequestGroupMan.cc

+ 7 - 0
ChangeLog

@@ -1,3 +1,10 @@
+2009-05-01  Tatsuhiro Tsujikawa  <[email protected]>
+
+	Avoid circular reference between RequestGroup and AdaptiveURISelector
+	* src/RequestGroupMan.cc
+	* src/AdaptiveURISelector.cc
+	* src/AdaptiveURISelector.h
+
 2009-04-28  Tatsuhiro Tsujikawa  <[email protected]>
 
 	* Release 1.3.2

+ 1 - 2
src/AdaptiveURISelector.cc

@@ -61,8 +61,7 @@ namespace aria2 {
  */
 
 AdaptiveURISelector::AdaptiveURISelector
-(const SharedHandle<ServerStatMan>& serverStatMan, 
- const SharedHandle<RequestGroup>& requestGroup):
+(const SharedHandle<ServerStatMan>& serverStatMan, RequestGroup* requestGroup):
   _serverStatMan(serverStatMan),
   _requestGroup(requestGroup),
   _nbConnections(1),

+ 3 - 2
src/AdaptiveURISelector.h

@@ -48,7 +48,8 @@ class Logger;
 class AdaptiveURISelector:public URISelector {
 private:
   SharedHandle<ServerStatMan> _serverStatMan;
-  SharedHandle<RequestGroup> _requestGroup;
+  // No need to delete _requestGroup
+  RequestGroup* _requestGroup;
   unsigned int _nbServerToEvaluate;
   unsigned int _nbConnections;
 
@@ -73,7 +74,7 @@ private:
   std::string getBestMirror(const std::deque<std::string>& uris) const;
 public:
   AdaptiveURISelector(const SharedHandle<ServerStatMan>& serverStatMan, 
-          const SharedHandle<RequestGroup>& requestGroup);
+		      RequestGroup* requestGroup);
 
   virtual ~AdaptiveURISelector();
 

+ 1 - 1
src/RequestGroupMan.cc

@@ -286,7 +286,7 @@ void RequestGroupMan::configureRequestGroup
   } else if(uriSelectorValue == V_ADAPTIVE) {
     requestGroup->setURISelector
       (SharedHandle<URISelector>(new AdaptiveURISelector(_serverStatMan,
-							 requestGroup)));
+							 requestGroup.get())));
   }
 }