/* */ #include "DHTNodeLookupTask.h" #include "DHTMessageFactory.h" #include "DHTFindNodeReplyMessage.h" #include "DHTNode.h" #include "DHTNodeLookupEntry.h" #include "LogFactory.h" #include "util.h" #include namespace aria2 { DHTNodeLookupTask::DHTNodeLookupTask(const unsigned char* targetNodeID): DHTAbstractNodeLookupTask(targetNodeID) {} void DHTNodeLookupTask::getNodesFromMessage(std::deque >& nodes, const SharedHandle& message) { SharedHandle m (dynamic_pointer_cast(message)); if(!m.isNull()) { const std::deque >& knodes = m->getClosestKNodes(); nodes.insert(nodes.end(), knodes.begin(), knodes.end()); } } SharedHandle DHTNodeLookupTask::createMessage(const SharedHandle& remoteNode) { return _factory->createFindNodeMessage(remoteNode, _targetID); } } // namespace aria2