mirror of https://github.com/aria2/aria2
				
				
				
			2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added DHTMessageDispatcherImpl. Now DHTMessageDispatcher is pure
	virtual.
	* src/DHTMessageDispatcher.h
	* src/DHTMessageDispatcherImpl.{h, cc}
	* src/DHTSetup.cc
			
			
				pull/1/head
			
			
		
							parent
							
								
									413cbe192b
								
							
						
					
					
						commit
						e9f980afc7
					
				| 
						 | 
					@ -1,3 +1,11 @@
 | 
				
			||||||
 | 
					2008-02-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Added DHTMessageDispatcherImpl. Now DHTMessageDispatcher is pure
 | 
				
			||||||
 | 
						virtual.
 | 
				
			||||||
 | 
						* src/DHTMessageDispatcher.h
 | 
				
			||||||
 | 
						* src/DHTMessageDispatcherImpl.{h, cc}
 | 
				
			||||||
 | 
						* src/DHTSetup.cc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2008-02-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 | 
					2008-02-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Adding handling of DHT error message. Just log error message and
 | 
						Adding handling of DHT error message. Just log error message and
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,40 +37,28 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "common.h"
 | 
					#include "common.h"
 | 
				
			||||||
#include "SharedHandle.h"
 | 
					#include "SharedHandle.h"
 | 
				
			||||||
#include <deque>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace aria2 {
 | 
					namespace aria2 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class DHTMessageTracker;
 | 
					 | 
				
			||||||
class DHTMessageCallback;
 | 
					class DHTMessageCallback;
 | 
				
			||||||
class DHTMessageEntry;
 | 
					 | 
				
			||||||
class DHTMessage;
 | 
					class DHTMessage;
 | 
				
			||||||
class Logger;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
class DHTMessageDispatcher {
 | 
					class DHTMessageDispatcher {
 | 
				
			||||||
private:
 | 
					 | 
				
			||||||
  SharedHandle<DHTMessageTracker> _tracker;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  std::deque<SharedHandle<DHTMessageEntry> > _messageQueue;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  const Logger* _logger;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  void sendMessage(const SharedHandle<DHTMessageEntry>& msg);
 | 
					 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
  DHTMessageDispatcher(const SharedHandle<DHTMessageTracker>& tracker);
 | 
					  virtual ~DHTMessageDispatcher() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ~DHTMessageDispatcher();
 | 
					  virtual void
 | 
				
			||||||
 | 
					  addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
				
			||||||
 | 
							    time_t timeout,
 | 
				
			||||||
 | 
							    const SharedHandle<DHTMessageCallback>& callback = 0) = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  void addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
					  virtual void
 | 
				
			||||||
			 time_t timeout,
 | 
					  addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
				
			||||||
			 const SharedHandle<DHTMessageCallback>& callback = 0);
 | 
							    const SharedHandle<DHTMessageCallback>& callback = 0) = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  void addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
					  virtual void sendMessages() = 0;
 | 
				
			||||||
			 const SharedHandle<DHTMessageCallback>& callback = 0);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  void sendMessages();
 | 
					  virtual size_t countMessageInQueue() const = 0;
 | 
				
			||||||
 | 
					 | 
				
			||||||
  size_t countMessageInQueue() const;
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace aria2
 | 
					} // namespace aria2
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,7 @@
 | 
				
			||||||
 * files in the program, then also delete it here.
 | 
					 * files in the program, then also delete it here.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
/* copyright --> */
 | 
					/* copyright --> */
 | 
				
			||||||
#include "DHTMessageDispatcher.h"
 | 
					#include "DHTMessageDispatcherImpl.h"
 | 
				
			||||||
#include "DHTMessage.h"
 | 
					#include "DHTMessage.h"
 | 
				
			||||||
#include "DHTMessageCallback.h"
 | 
					#include "DHTMessageCallback.h"
 | 
				
			||||||
#include "DHTMessageEntry.h"
 | 
					#include "DHTMessageEntry.h"
 | 
				
			||||||
| 
						 | 
					@ -44,24 +44,29 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace aria2 {
 | 
					namespace aria2 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DHTMessageDispatcher::DHTMessageDispatcher(const SharedHandle<DHTMessageTracker>& tracker):_tracker(tracker), _logger(LogFactory::getInstance()) {}
 | 
					DHTMessageDispatcherImpl::DHTMessageDispatcherImpl(const SharedHandle<DHTMessageTracker>& tracker):
 | 
				
			||||||
 | 
					  _tracker(tracker),
 | 
				
			||||||
 | 
					  _logger(LogFactory::getInstance()) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DHTMessageDispatcher::~DHTMessageDispatcher() {}
 | 
					DHTMessageDispatcherImpl::~DHTMessageDispatcherImpl() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DHTMessageDispatcher::addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
					void
 | 
				
			||||||
					     time_t timeout,
 | 
					DHTMessageDispatcherImpl::addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
				
			||||||
					     const SharedHandle<DHTMessageCallback>& callback)
 | 
										    time_t timeout,
 | 
				
			||||||
 | 
										    const SharedHandle<DHTMessageCallback>& callback)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  _messageQueue.push_back(new DHTMessageEntry(message, timeout, callback));
 | 
					  _messageQueue.push_back(new DHTMessageEntry(message, timeout, callback));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DHTMessageDispatcher::addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
					void
 | 
				
			||||||
					     const SharedHandle<DHTMessageCallback>& callback)
 | 
					DHTMessageDispatcherImpl::addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
				
			||||||
 | 
										    const SharedHandle<DHTMessageCallback>& callback)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  addMessageToQueue(message, DHT_MESSAGE_TIMEOUT, callback);
 | 
					  addMessageToQueue(message, DHT_MESSAGE_TIMEOUT, callback);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DHTMessageDispatcher::sendMessage(const SharedHandle<DHTMessageEntry>& entry)
 | 
					void
 | 
				
			||||||
 | 
					DHTMessageDispatcherImpl::sendMessage(const SharedHandle<DHTMessageEntry>& entry)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  try {
 | 
					  try {
 | 
				
			||||||
    entry->_message->send();
 | 
					    entry->_message->send();
 | 
				
			||||||
| 
						 | 
					@ -75,7 +80,7 @@ void DHTMessageDispatcher::sendMessage(const SharedHandle<DHTMessageEntry>& entr
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DHTMessageDispatcher::sendMessages()
 | 
					void DHTMessageDispatcherImpl::sendMessages()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  // TODO I can't use bind1st and mem_fun here because bind1st cannot bind a
 | 
					  // TODO I can't use bind1st and mem_fun here because bind1st cannot bind a
 | 
				
			||||||
  // function which takes a reference as an argument..
 | 
					  // function which takes a reference as an argument..
 | 
				
			||||||
| 
						 | 
					@ -85,7 +90,7 @@ void DHTMessageDispatcher::sendMessages()
 | 
				
			||||||
  _messageQueue.clear();
 | 
					  _messageQueue.clear();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
size_t DHTMessageDispatcher::countMessageInQueue() const
 | 
					size_t DHTMessageDispatcherImpl::countMessageInQueue() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  return _messageQueue.size();
 | 
					  return _messageQueue.size();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,77 @@
 | 
				
			||||||
 | 
					/* <!-- copyright */
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * aria2 - The high speed download utility
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Copyright (C) 2006 Tatsuhiro Tsujikawa
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This program is free software; you can redistribute it and/or modify
 | 
				
			||||||
 | 
					 * it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					 * the Free Software Foundation; either version 2 of the License, or
 | 
				
			||||||
 | 
					 * (at your option) any later version.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					 * GNU General Public License for more details.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					 * along with this program; if not, write to the Free Software
 | 
				
			||||||
 | 
					 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * In addition, as a special exception, the copyright holders give
 | 
				
			||||||
 | 
					 * permission to link the code of portions of this program with the
 | 
				
			||||||
 | 
					 * OpenSSL library under certain conditions as described in each
 | 
				
			||||||
 | 
					 * individual source file, and distribute linked combinations
 | 
				
			||||||
 | 
					 * including the two.
 | 
				
			||||||
 | 
					 * You must obey the GNU General Public License in all respects
 | 
				
			||||||
 | 
					 * for all of the code used other than OpenSSL.  If you modify
 | 
				
			||||||
 | 
					 * file(s) with this exception, you may extend this exception to your
 | 
				
			||||||
 | 
					 * version of the file(s), but you are not obligated to do so.  If you
 | 
				
			||||||
 | 
					 * do not wish to do so, delete this exception statement from your
 | 
				
			||||||
 | 
					 * version.  If you delete this exception statement from all source
 | 
				
			||||||
 | 
					 * files in the program, then also delete it here.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					/* copyright --> */
 | 
				
			||||||
 | 
					#ifndef _D_DHT_MESSAGE_DISPATCHER_IMPL_H_
 | 
				
			||||||
 | 
					#define _D_DHT_MESSAGE_DISPATCHER_IMPL_H_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "DHTMessageDispatcher.h"
 | 
				
			||||||
 | 
					#include <deque>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace aria2 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class DHTMessageTracker;
 | 
				
			||||||
 | 
					class DHTMessageEntry;
 | 
				
			||||||
 | 
					class Logger;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class DHTMessageDispatcherImpl:public DHTMessageDispatcher {
 | 
				
			||||||
 | 
					private:
 | 
				
			||||||
 | 
					  SharedHandle<DHTMessageTracker> _tracker;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  std::deque<SharedHandle<DHTMessageEntry> > _messageQueue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const Logger* _logger;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void sendMessage(const SharedHandle<DHTMessageEntry>& msg);
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					  DHTMessageDispatcherImpl(const SharedHandle<DHTMessageTracker>& tracker);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  virtual ~DHTMessageDispatcherImpl();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  virtual void
 | 
				
			||||||
 | 
					  addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
				
			||||||
 | 
							    time_t timeout,
 | 
				
			||||||
 | 
							    const SharedHandle<DHTMessageCallback>& callback = 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  virtual void
 | 
				
			||||||
 | 
					  addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
				
			||||||
 | 
							    const SharedHandle<DHTMessageCallback>& callback = 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  virtual void sendMessages();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  virtual size_t countMessageInQueue() const;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace aria2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // _D_DHT_MESSAGE_DISPATCHER_IMPL_H_
 | 
				
			||||||
| 
						 | 
					@ -42,7 +42,7 @@
 | 
				
			||||||
#include "DHTRoutingTable.h"
 | 
					#include "DHTRoutingTable.h"
 | 
				
			||||||
#include "DHTMessageFactoryImpl.h"
 | 
					#include "DHTMessageFactoryImpl.h"
 | 
				
			||||||
#include "DHTMessageTracker.h"
 | 
					#include "DHTMessageTracker.h"
 | 
				
			||||||
#include "DHTMessageDispatcher.h"
 | 
					#include "DHTMessageDispatcherImpl.h"
 | 
				
			||||||
#include "DHTMessageReceiver.h"
 | 
					#include "DHTMessageReceiver.h"
 | 
				
			||||||
#include "DHTTaskQueueImpl.h"
 | 
					#include "DHTTaskQueueImpl.h"
 | 
				
			||||||
#include "DHTTaskFactoryImpl.h"
 | 
					#include "DHTTaskFactoryImpl.h"
 | 
				
			||||||
| 
						 | 
					@ -120,7 +120,7 @@ Commands DHTSetup::setup(DownloadEngine* e, const Option* option)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SharedHandle<DHTMessageTracker> tracker = new DHTMessageTracker();
 | 
					    SharedHandle<DHTMessageTracker> tracker = new DHTMessageTracker();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SharedHandle<DHTMessageDispatcher> dispatcher = new DHTMessageDispatcher(tracker);
 | 
					    SharedHandle<DHTMessageDispatcherImpl> dispatcher = new DHTMessageDispatcherImpl(tracker);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SharedHandle<DHTMessageReceiver> receiver = new DHTMessageReceiver(tracker);
 | 
					    SharedHandle<DHTMessageReceiver> receiver = new DHTMessageReceiver(tracker);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -266,7 +266,7 @@ SRCS += MetaEntry.h\
 | 
				
			||||||
	DHTBucket.cc\
 | 
						DHTBucket.cc\
 | 
				
			||||||
	DHTRoutingTable.cc\
 | 
						DHTRoutingTable.cc\
 | 
				
			||||||
	DHTMessageEntry.cc\
 | 
						DHTMessageEntry.cc\
 | 
				
			||||||
	DHTMessageDispatcher.cc\
 | 
						DHTMessageDispatcherImpl.cc\
 | 
				
			||||||
	DHTMessageReceiver.cc\
 | 
						DHTMessageReceiver.cc\
 | 
				
			||||||
	DHTMessageTracker.cc\
 | 
						DHTMessageTracker.cc\
 | 
				
			||||||
	DHTMessageTrackerEntry.cc\
 | 
						DHTMessageTrackerEntry.cc\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -144,7 +144,7 @@ bin_PROGRAMS = aria2c$(EXEEXT)
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTBucket.cc\
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTBucket.cc\
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTRoutingTable.cc\
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTRoutingTable.cc\
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTMessageEntry.cc\
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTMessageEntry.cc\
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTMessageDispatcher.cc\
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTMessageDispatcherImpl.cc\
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTMessageReceiver.cc\
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTMessageReceiver.cc\
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTMessageTracker.cc\
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTMessageTracker.cc\
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTMessageTrackerEntry.cc\
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTMessageTrackerEntry.cc\
 | 
				
			||||||
| 
						 | 
					@ -421,7 +421,7 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 | 
				
			||||||
	BtExtendedMessage.cc DefaultExtensionMessageFactory.cc \
 | 
						BtExtendedMessage.cc DefaultExtensionMessageFactory.cc \
 | 
				
			||||||
	HandshakeExtensionMessage.cc UTPexExtensionMessage.cc \
 | 
						HandshakeExtensionMessage.cc UTPexExtensionMessage.cc \
 | 
				
			||||||
	DHTNode.cc DHTUtil.cc DHTBucket.cc DHTRoutingTable.cc \
 | 
						DHTNode.cc DHTUtil.cc DHTBucket.cc DHTRoutingTable.cc \
 | 
				
			||||||
	DHTMessageEntry.cc DHTMessageDispatcher.cc \
 | 
						DHTMessageEntry.cc DHTMessageDispatcherImpl.cc \
 | 
				
			||||||
	DHTMessageReceiver.cc DHTMessageTracker.cc \
 | 
						DHTMessageReceiver.cc DHTMessageTracker.cc \
 | 
				
			||||||
	DHTMessageTrackerEntry.cc DHTMessage.cc DHTConnectionImpl.cc \
 | 
						DHTMessageTrackerEntry.cc DHTMessage.cc DHTConnectionImpl.cc \
 | 
				
			||||||
	DHTAbstractMessage.cc DHTQueryMessage.cc DHTResponseMessage.cc \
 | 
						DHTAbstractMessage.cc DHTQueryMessage.cc DHTResponseMessage.cc \
 | 
				
			||||||
| 
						 | 
					@ -527,7 +527,7 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTBucket.$(OBJEXT) \
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTBucket.$(OBJEXT) \
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTRoutingTable.$(OBJEXT) \
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTRoutingTable.$(OBJEXT) \
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTMessageEntry.$(OBJEXT) \
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTMessageEntry.$(OBJEXT) \
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTMessageDispatcher.$(OBJEXT) \
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTMessageDispatcherImpl.$(OBJEXT) \
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTMessageReceiver.$(OBJEXT) \
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTMessageReceiver.$(OBJEXT) \
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTMessageTracker.$(OBJEXT) \
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTMessageTracker.$(OBJEXT) \
 | 
				
			||||||
@ENABLE_BITTORRENT_TRUE@	DHTMessageTrackerEntry.$(OBJEXT) \
 | 
					@ENABLE_BITTORRENT_TRUE@	DHTMessageTrackerEntry.$(OBJEXT) \
 | 
				
			||||||
| 
						 | 
					@ -1172,7 +1172,7 @@ distclean-compile:
 | 
				
			||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTInteractionCommand.Po@am__quote@
 | 
					@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTInteractionCommand.Po@am__quote@
 | 
				
			||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessage.Po@am__quote@
 | 
					@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessage.Po@am__quote@
 | 
				
			||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessageCallbackImpl.Po@am__quote@
 | 
					@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessageCallbackImpl.Po@am__quote@
 | 
				
			||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessageDispatcher.Po@am__quote@
 | 
					@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessageDispatcherImpl.Po@am__quote@
 | 
				
			||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessageEntry.Po@am__quote@
 | 
					@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessageEntry.Po@am__quote@
 | 
				
			||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessageFactoryImpl.Po@am__quote@
 | 
					@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessageFactoryImpl.Po@am__quote@
 | 
				
			||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessageReceiver.Po@am__quote@
 | 
					@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DHTMessageReceiver.Po@am__quote@
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue