mirror of https://github.com/aria2/aria2
				
				
				
			
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
#ifndef D_MOCK_DHT_MESSAGE_DISPATCHER_H
 | 
						|
#define D_MOCK_DHT_MESSAGE_DISPATCHER_H
 | 
						|
 | 
						|
#include "DHTMessageDispatcher.h"
 | 
						|
#include "DHTMessageCallback.h"
 | 
						|
#include "DHTMessage.h"
 | 
						|
#include "DHTConstants.h"
 | 
						|
 | 
						|
namespace aria2 {
 | 
						|
 | 
						|
class MockDHTMessageDispatcher:public DHTMessageDispatcher {
 | 
						|
public:
 | 
						|
  class Entry {
 | 
						|
  public:
 | 
						|
    SharedHandle<DHTMessage> message_;
 | 
						|
    time_t timeout_;
 | 
						|
    SharedHandle<DHTMessageCallback> callback_;
 | 
						|
 | 
						|
    Entry(const SharedHandle<DHTMessage>& message, time_t timeout,
 | 
						|
          const SharedHandle<DHTMessageCallback>& callback):
 | 
						|
      message_(message),
 | 
						|
      timeout_(timeout),
 | 
						|
      callback_(callback) {}
 | 
						|
  };
 | 
						|
 | 
						|
  std::deque<Entry> messageQueue_;
 | 
						|
 | 
						|
public:
 | 
						|
  MockDHTMessageDispatcher() {}
 | 
						|
 | 
						|
  virtual ~MockDHTMessageDispatcher() {}
 | 
						|
 | 
						|
  virtual void
 | 
						|
  addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
						|
                    time_t timeout,
 | 
						|
                    const SharedHandle<DHTMessageCallback>& callback =
 | 
						|
                    SharedHandle<DHTMessageCallback>())
 | 
						|
  {
 | 
						|
    messageQueue_.push_back(Entry(message, timeout, callback));
 | 
						|
  }
 | 
						|
 | 
						|
  virtual void
 | 
						|
  addMessageToQueue(const SharedHandle<DHTMessage>& message,
 | 
						|
                    const SharedHandle<DHTMessageCallback>& callback =
 | 
						|
                    SharedHandle<DHTMessageCallback>())
 | 
						|
  {
 | 
						|
    messageQueue_.push_back(Entry(message, DHT_MESSAGE_TIMEOUT, callback));
 | 
						|
  }
 | 
						|
  
 | 
						|
  virtual void sendMessages() {}
 | 
						|
 | 
						|
  virtual size_t countMessageInQueue() const
 | 
						|
  {
 | 
						|
    return messageQueue_.size();
 | 
						|
  }
 | 
						|
};
 | 
						|
 | 
						|
} // namespace aria2
 | 
						|
 | 
						|
#endif // D_MOCK_DHT_MESSAGE_DISPATCHER_H
 |