summaryrefslogtreecommitdiff
path: root/test/MockDHTTask.h
blob: 284f709894eb8faadefa4216ae8b4511457da038 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef D_MOCK_DHT_TASK_H
#define D_MOCK_DHT_TASK_H

#include "DHTTask.h"

#include <cstring>

#include "DHTNode.h"
#include "DHTConstants.h"

namespace aria2 {

class MockDHTTask:public DHTTask {
public:
  std::shared_ptr<DHTNode> remoteNode_;

  unsigned char targetID_[DHT_ID_LENGTH];

  bool finished_;

  MockDHTTask(const std::shared_ptr<DHTNode>& remoteNode):
    remoteNode_(remoteNode),
    finished_(false) {}

  virtual ~MockDHTTask() {}

  virtual void startup() CXX11_OVERRIDE {}

  virtual bool finished() CXX11_OVERRIDE
  {
    return finished_;
  }

  void setTargetID(const unsigned char* targetID)
  {
    memcpy(targetID_, targetID, DHT_ID_LENGTH);
  }
};

} // namespace aria2

#endif // D_MOCK_DHT_TASK_H