2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Made DHTNodeLookupEntry struct
	* src/DHTAbstractNodeLookupTask.cc
	* src/DHTIDCloser.h
	* src/DHTNodeLookupEntry.cc
	* src/DHTNodeLookupEntry.h
	* src/DHTPeerLookupTask.cc
	* test/DHTIDCloserTest.cc
pull/1/head
Tatsuhiro Tsujikawa 2010-06-13 02:13:43 +00:00
parent 55258bc019
commit 6127307c54
7 changed files with 27 additions and 18 deletions

View File

@ -1,3 +1,13 @@
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made DHTNodeLookupEntry struct
* src/DHTAbstractNodeLookupTask.cc
* src/DHTIDCloser.h
* src/DHTNodeLookupEntry.cc
* src/DHTNodeLookupEntry.h
* src/DHTPeerLookupTask.cc
* test/DHTIDCloserTest.cc
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> 2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables Renamed member variables

View File

@ -71,15 +71,15 @@ void DHTAbstractNodeLookupTask::onReceived
size_t count = 0; size_t count = 0;
for(std::vector<SharedHandle<DHTNodeLookupEntry> >::const_iterator i = for(std::vector<SharedHandle<DHTNodeLookupEntry> >::const_iterator i =
newEntries.begin(), eoi = newEntries.end(); i != eoi; ++i) { newEntries.begin(), eoi = newEntries.end(); i != eoi; ++i) {
if(memcmp(getLocalNode()->getID(), (*i)->_node->getID(), if(memcmp(getLocalNode()->getID(), (*i)->node->getID(),
DHT_ID_LENGTH) != 0) { DHT_ID_LENGTH) != 0) {
_entries.push_front(*i); _entries.push_front(*i);
++count; ++count;
if(getLogger()->debug()) { if(getLogger()->debug()) {
getLogger()->debug("Received nodes: id=%s, ip=%s", getLogger()->debug("Received nodes: id=%s, ip=%s",
util::toHex((*i)->_node->getID(), util::toHex((*i)->node->getID(),
DHT_ID_LENGTH).c_str(), DHT_ID_LENGTH).c_str(),
(*i)->_node->getIPAddress().c_str()); (*i)->node->getIPAddress().c_str());
} }
} }
} }
@ -106,7 +106,7 @@ void DHTAbstractNodeLookupTask::onTimeout(const SharedHandle<DHTNode>& node)
--_inFlightMessage; --_inFlightMessage;
for(std::deque<SharedHandle<DHTNodeLookupEntry> >::iterator i = for(std::deque<SharedHandle<DHTNodeLookupEntry> >::iterator i =
_entries.begin(), eoi = _entries.end(); i != eoi; ++i) { _entries.begin(), eoi = _entries.end(); i != eoi; ++i) {
if((*i)->_node == node) { if((*i)->node == node) {
_entries.erase(i); _entries.erase(i);
break; break;
} }
@ -141,10 +141,10 @@ void DHTAbstractNodeLookupTask::sendMessage()
for(std::deque<SharedHandle<DHTNodeLookupEntry> >::iterator i = for(std::deque<SharedHandle<DHTNodeLookupEntry> >::iterator i =
_entries.begin(), eoi = _entries.end(); _entries.begin(), eoi = _entries.end();
i != eoi && _inFlightMessage < ALPHA; ++i) { i != eoi && _inFlightMessage < ALPHA; ++i) {
if((*i)->_used == false) { if((*i)->used == false) {
++_inFlightMessage; ++_inFlightMessage;
(*i)->_used = true; (*i)->used = true;
SharedHandle<DHTMessage> m = createMessage((*i)->_node); SharedHandle<DHTMessage> m = createMessage((*i)->node);
WeakHandle<DHTMessageCallbackListener> listener(this); WeakHandle<DHTMessageCallbackListener> listener(this);
SharedHandle<DHTMessageCallback> callback SharedHandle<DHTMessageCallback> callback
(new DHTMessageCallbackImpl(listener)); (new DHTMessageCallbackImpl(listener));

View File

@ -53,7 +53,7 @@ public:
bool operator()(const SharedHandle<DHTNodeLookupEntry>& m1, bool operator()(const SharedHandle<DHTNodeLookupEntry>& m1,
const SharedHandle<DHTNodeLookupEntry>& m2) const const SharedHandle<DHTNodeLookupEntry>& m2) const
{ {
return _closer(m1->_node->getID(), m2->_node->getID()); return _closer(m1->node->getID(), m2->node->getID());
} }
}; };

View File

@ -38,14 +38,14 @@
namespace aria2 { namespace aria2 {
DHTNodeLookupEntry::DHTNodeLookupEntry(const SharedHandle<DHTNode>& node): DHTNodeLookupEntry::DHTNodeLookupEntry(const SharedHandle<DHTNode>& node):
_node(node), _used(false) {} node(node), used(false) {}
DHTNodeLookupEntry::DHTNodeLookupEntry(): DHTNodeLookupEntry::DHTNodeLookupEntry():
_node(0), _used(false) {} node(0), used(false) {}
bool DHTNodeLookupEntry::operator==(const DHTNodeLookupEntry& entry) const bool DHTNodeLookupEntry::operator==(const DHTNodeLookupEntry& entry) const
{ {
return _node == entry._node; return node == entry.node;
} }
} // namespace aria2 } // namespace aria2

View File

@ -42,11 +42,10 @@ namespace aria2 {
class DHTNode; class DHTNode;
class DHTNodeLookupEntry { struct DHTNodeLookupEntry {
public: SharedHandle<DHTNode> node;
SharedHandle<DHTNode> _node;
bool _used; bool used;
DHTNodeLookupEntry(const SharedHandle<DHTNode>& node); DHTNodeLookupEntry(const SharedHandle<DHTNode>& node);

View File

@ -94,8 +94,8 @@ void DHTPeerLookupTask::onFinish()
for(std::deque<SharedHandle<DHTNodeLookupEntry> >::const_iterator i = for(std::deque<SharedHandle<DHTNodeLookupEntry> >::const_iterator i =
getEntries().begin(), eoi = getEntries().end(); getEntries().begin(), eoi = getEntries().end();
i != eoi && num > 0; ++i, --num) { i != eoi && num > 0; ++i, --num) {
if((*i)->_used) { if((*i)->used) {
const SharedHandle<DHTNode>& node = (*i)->_node; const SharedHandle<DHTNode>& node = (*i)->node;
SharedHandle<DHTMessage> m = SharedHandle<DHTMessage> m =
getMessageFactory()->createAnnouncePeerMessage getMessageFactory()->createAnnouncePeerMessage
(node, (node,

View File

@ -56,7 +56,7 @@ void DHTIDCloserTest::testOperator()
entries.push_back(e4); entries.push_back(e4);
entries.push_back(e5); entries.push_back(e5);
std::sort(entries.begin(), entries.end(), DHTIDCloser(e3->_node->getID())); std::sort(entries.begin(), entries.end(), DHTIDCloser(e3->node->getID()));
CPPUNIT_ASSERT(e3 == entries[0]); CPPUNIT_ASSERT(e3 == entries[0]);
CPPUNIT_ASSERT(e2 == entries[1]); CPPUNIT_ASSERT(e2 == entries[1]);