Quellcode durchsuchen

2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

	Changed method signature:
	PeerListProcessor::extractPeer
	* src/CompactPeerListProcessor.cc
	* src/CompactPeerListProcessor.h
	* src/DefaultBtAnnounce.cc
	* src/DefaultPeerListProcessor.cc
	* src/DefaultPeerListProcessor.h
	* src/DelegatingPeerListProcessor.cc
	* src/DelegatingPeerListProcessor.h
	* src/PeerListProcessor.h
	* src/UTPexExtensionMessage.cc
	* test/DefaultPeerListProcessorTest.cc
Tatsuhiro Tsujikawa vor 17 Jahren
Ursprung
Commit
5f8e8e371e

+ 15 - 0
ChangeLog

@@ -1,3 +1,18 @@
+2008-05-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
+
+	Changed method signature:
+	PeerListProcessor::extractPeer
+	* src/CompactPeerListProcessor.cc
+	* src/CompactPeerListProcessor.h
+	* src/DefaultBtAnnounce.cc
+	* src/DefaultPeerListProcessor.cc
+	* src/DefaultPeerListProcessor.h
+	* src/DelegatingPeerListProcessor.cc
+	* src/DelegatingPeerListProcessor.h
+	* src/PeerListProcessor.h
+	* src/UTPexExtensionMessage.cc
+	* test/DefaultPeerListProcessorTest.cc
+
 2008-05-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 
 	Changed method signature:

+ 4 - 4
src/CompactPeerListProcessor.cc

@@ -46,11 +46,12 @@ bool CompactPeerListProcessor::canHandle(const MetaEntry* peersEntry) const {
   return dynamic_cast<const Data*>(peersEntry) != 0;
 }
 
-Peers CompactPeerListProcessor::extractPeer(const MetaEntry* peersEntry) {
-  Peers peers;
+void CompactPeerListProcessor::extractPeer
+(std::deque<SharedHandle<Peer> >& peers, const MetaEntry* peersEntry)
+{
   const Data* peersData = dynamic_cast<const Data*>(peersEntry);
   if(!peersData) {
-    return peers;
+    return;
   }
   if(peersData->getLen()%6 == 0) {
     for(size_t i = 0; i < peersData->getLen(); i += 6) {
@@ -62,7 +63,6 @@ Peers CompactPeerListProcessor::extractPeer(const MetaEntry* peersEntry) {
       peers.push_back(peer);
     }
   }
-  return peers;
 }
 
 } // namespace aria2

+ 2 - 2
src/CompactPeerListProcessor.h

@@ -44,8 +44,8 @@ public:
 
   virtual ~CompactPeerListProcessor();
 
-  virtual std::deque<SharedHandle<Peer> >
-  extractPeer(const MetaEntry* peersEntry);
+  virtual void extractPeer
+  (std::deque<SharedHandle<Peer> >& peers, const MetaEntry* peersEntry);
 
   virtual bool canHandle(const MetaEntry* peersEntry) const;
 };

+ 2 - 1
src/DefaultBtAnnounce.cc

@@ -251,7 +251,8 @@ DefaultBtAnnounce::processAnnounceResponse(const unsigned char* trackerResponse,
      !btRuntime->isHalt() &&
      btRuntime->lessThanMinPeer()) {
     DelegatingPeerListProcessor proc;
-    Peers peers = proc.extractPeer(peersEntry);
+    std::deque<SharedHandle<Peer> > peers;
+    proc.extractPeer(peers, peersEntry);
     peerStorage->addPeer(peers);
   }
   if(!peersEntry) {

+ 4 - 4
src/DefaultPeerListProcessor.cc

@@ -49,11 +49,12 @@ bool DefaultPeerListProcessor::canHandle(const MetaEntry* peersEntry) const {
   return peersList != 0;
 }
 
-Peers DefaultPeerListProcessor::extractPeer(const MetaEntry* peersEntry) {
-  Peers peers;
+void DefaultPeerListProcessor::extractPeer
+(std::deque<SharedHandle<Peer> >& peers, const MetaEntry* peersEntry)
+{
   const List* peersList = dynamic_cast<const List*>(peersEntry);
   if(!peersList) {
-    return peers;
+    return;
   }
   const std::deque<MetaEntry*>& metaList = peersList->getList();
   for(std::deque<MetaEntry*>::const_iterator itr = metaList.begin();
@@ -70,7 +71,6 @@ Peers DefaultPeerListProcessor::extractPeer(const MetaEntry* peersEntry) {
     PeerHandle peer(new Peer(ip->toString(), port->toInt()));
     peers.push_back(peer);
   }
-  return peers;
 }
 
 } // namespace aria2

+ 2 - 2
src/DefaultPeerListProcessor.h

@@ -45,8 +45,8 @@ public:
 
   virtual ~DefaultPeerListProcessor();
 
-  virtual std::deque<SharedHandle<Peer> >
-  extractPeer(const MetaEntry* peersEntry);
+  virtual void extractPeer
+  (std::deque<SharedHandle<Peer> >& peers, const MetaEntry* peersEntry);
 
   virtual bool canHandle(const MetaEntry* peersEntry) const;
 };

+ 4 - 5
src/DelegatingPeerListProcessor.cc

@@ -53,18 +53,17 @@ DelegatingPeerListProcessor::DelegatingPeerListProcessor()
 
 DelegatingPeerListProcessor::~DelegatingPeerListProcessor() {}
 
-Peers DelegatingPeerListProcessor::extractPeer(const MetaEntry* peersEntry) {
-  Peers peers;
+void DelegatingPeerListProcessor::extractPeer
+(std::deque<SharedHandle<Peer> >& peers, const MetaEntry* peersEntry)
+{
   for(std::deque<SharedHandle<PeerListProcessor> >::iterator itr = processors.begin();
       itr != processors.end(); itr++) {
     PeerListProcessorHandle processor = *itr;
     if(processor->canHandle(peersEntry)) {
-      Peers tempPeers = processor->extractPeer(peersEntry);
-      std::copy(tempPeers.begin(), tempPeers.end(), std::back_inserter(peers));
+      processor->extractPeer(peers, peersEntry);
       break;
     }
   }
-  return peers;
 }
 
 bool DelegatingPeerListProcessor::canHandle(const MetaEntry* peersEntry) const {

+ 2 - 2
src/DelegatingPeerListProcessor.h

@@ -46,8 +46,8 @@ public:
 
   virtual ~DelegatingPeerListProcessor();
 
-  virtual std::deque<SharedHandle<Peer> >
-  extractPeer(const MetaEntry* peersEntry);
+  virtual void extractPeer
+  (std::deque<SharedHandle<Peer> >& peers, const MetaEntry* peersEntry);
 
   virtual bool canHandle(const MetaEntry* peersEntry) const;
 };

+ 2 - 2
src/PeerListProcessor.h

@@ -48,8 +48,8 @@ class PeerListProcessor {
 public:
   virtual ~PeerListProcessor() {}
 
-  virtual std::deque<SharedHandle<Peer> >
-  extractPeer(const MetaEntry* peersEntry) = 0;
+  virtual void extractPeer
+  (std::deque<SharedHandle<Peer> >& peers, const MetaEntry* peersEntry) = 0;
 
   virtual bool canHandle(const MetaEntry* peersEntry) const = 0;
 };

+ 2 - 2
src/UTPexExtensionMessage.cc

@@ -139,11 +139,11 @@ UTPexExtensionMessage::create(const BtContextHandle& btContext,
     CompactPeerListProcessor proc;
     const Data* added = dynamic_cast<const Data*>(d->get("added"));
     if(added) {
-      msg->_freshPeers = proc.extractPeer(added);
+      proc.extractPeer(msg->_freshPeers, added);
     }
     const Data* dropped = dynamic_cast<const Data*>(d->get("dropped"));
     if(dropped) {
-      msg->_droppedPeers = proc.extractPeer(dropped);
+      proc.extractPeer(msg->_droppedPeers, dropped);
     }
   }
   return msg;

+ 4 - 2
test/DefaultPeerListProcessorTest.cc

@@ -34,7 +34,8 @@ void DefaultPeerListProcessorTest::testExtractPeer() {
   
   CPPUNIT_ASSERT(proc.canHandle(dic->get("peers")));
 
-  std::deque<SharedHandle<Peer> > peers = proc.extractPeer(dic->get("peers"));
+  std::deque<SharedHandle<Peer> > peers;
+  proc.extractPeer(peers, dic->get("peers"));
   CPPUNIT_ASSERT_EQUAL((size_t)1, peers.size());
   SharedHandle<Peer> peer = *peers.begin();
   CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"), peer->ipaddr);
@@ -47,7 +48,8 @@ void DefaultPeerListProcessorTest::testExtract2Peers() {
 
   Dictionary* dic = (Dictionary*)MetaFileUtil::bdecoding(peersString);
 
-  std::deque<SharedHandle<Peer> > peers = proc.extractPeer(dic->get("peers"));
+  std::deque<SharedHandle<Peer> > peers;
+  proc.extractPeer(peers, dic->get("peers"));
   CPPUNIT_ASSERT_EQUAL((size_t)2, peers.size());
   SharedHandle<Peer> peer = *peers.begin();
   CPPUNIT_ASSERT_EQUAL(std::string("192.168.0.1"), peer->ipaddr);