diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-02-28 12:30:11 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-02-28 12:30:11 +0000 |
| commit | c342bde9627b434effbc0cd10b817670d1da0923 (patch) | |
| tree | 60d14bf448066b8dcd639adfa0db716d5a8258c8 /src/DHTAbstractNodeLookupTask.h | |
| parent | 135f0a2a8c4ee04a5e96d84ba558245fabfc1f5c (diff) | |
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use vector instead of deque for containers which is used for
mostly read-only purpose.
Diffstat (limited to 'src/DHTAbstractNodeLookupTask.h')
| -rw-r--r-- | src/DHTAbstractNodeLookupTask.h | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/DHTAbstractNodeLookupTask.h b/src/DHTAbstractNodeLookupTask.h index 8b53f9bc..30fbf86c 100644 --- a/src/DHTAbstractNodeLookupTask.h +++ b/src/DHTAbstractNodeLookupTask.h @@ -36,14 +36,17 @@ #define _D_DHT_ABSTRACT_NODE_LOOKUP_TASK_H_ #include "DHTAbstractTask.h" + +#include <deque> +#include <vector> + #include "DHTMessageCallbackListener.h" #include "DHTConstants.h" -#include <deque> +#include "DHTNodeLookupEntry.h" namespace aria2 { class DHTNode; -class DHTNodeLookupEntry; class DHTMessage; class DHTAbstractNodeLookupTask:public DHTAbstractTask, public DHTMessageCallbackListener { @@ -54,8 +57,16 @@ protected: size_t _inFlightMessage; - void toEntries(std::deque<SharedHandle<DHTNodeLookupEntry> >& entries, - const std::deque<SharedHandle<DHTNode> >& nodes) const; + template<typename Container> + void toEntries + (Container& entries, const std::vector<SharedHandle<DHTNode> >& nodes) const + { + for(std::vector<SharedHandle<DHTNode> >::const_iterator i = nodes.begin(); + i != nodes.end(); ++i) { + SharedHandle<DHTNodeLookupEntry> e(new DHTNodeLookupEntry(*i)); + entries.push_back(e); + } + } void sendMessage(); @@ -73,7 +84,7 @@ public: virtual void onTimeout(const SharedHandle<DHTNode>& node); - virtual void getNodesFromMessage(std::deque<SharedHandle<DHTNode> >& nodes, + virtual void getNodesFromMessage(std::vector<SharedHandle<DHTNode> >& nodes, const SharedHandle<DHTMessage>& message) = 0; virtual void onReceivedInternal(const SharedHandle<DHTMessage>& message) {} |
