MockPeerStorage.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #ifndef D_MOCK_PEER_STORAGE_H
  2. #define D_MOCK_PEER_STORAGE_H
  3. #include "PeerStorage.h"
  4. #include <algorithm>
  5. #include "Peer.h"
  6. namespace aria2 {
  7. class MockPeerStorage : public PeerStorage {
  8. private:
  9. std::deque<SharedHandle<Peer> > unusedPeers;
  10. std::deque<SharedHandle<Peer> > usedPeers;
  11. std::deque<SharedHandle<Peer> > droppedPeers;
  12. std::vector<SharedHandle<Peer> > activePeers;
  13. int numChokeExecuted_;
  14. public:
  15. MockPeerStorage():numChokeExecuted_(0) {}
  16. virtual ~MockPeerStorage() {}
  17. virtual bool addPeer(const SharedHandle<Peer>& peer)
  18. {
  19. unusedPeers.push_back(peer);
  20. return true;
  21. }
  22. virtual void addPeer(const std::vector<SharedHandle<Peer> >& peers) {
  23. unusedPeers.insert(unusedPeers.end(), peers.begin(), peers.end());
  24. }
  25. const std::deque<SharedHandle<Peer> >& getUnusedPeers()
  26. {
  27. return unusedPeers;
  28. }
  29. virtual size_t countAllPeer() const
  30. {
  31. return unusedPeers.size() + usedPeers.size();
  32. }
  33. virtual const std::deque<SharedHandle<Peer> >& getDroppedPeers() {
  34. return droppedPeers;
  35. }
  36. void addDroppedPeer(const SharedHandle<Peer>& peer) {
  37. droppedPeers.push_back(peer);
  38. }
  39. virtual bool isPeerAvailable() {
  40. return false;
  41. }
  42. void setActivePeers(const std::vector<SharedHandle<Peer> >& activePeers)
  43. {
  44. this->activePeers = activePeers;
  45. }
  46. virtual void getActivePeers(std::vector<SharedHandle<Peer> >& peers) {
  47. peers.insert(peers.end(), activePeers.begin(), activePeers.end());
  48. }
  49. virtual bool isBadPeer(const std::string& ipaddr)
  50. {
  51. return false;
  52. }
  53. virtual void addBadPeer(const std::string& ipaddr)
  54. {
  55. }
  56. virtual SharedHandle<Peer> checkoutPeer(cuid_t cuid)
  57. {
  58. return SharedHandle<Peer>();
  59. }
  60. virtual void returnPeer(const SharedHandle<Peer>& peer)
  61. {
  62. }
  63. virtual bool chokeRoundIntervalElapsed()
  64. {
  65. return false;
  66. }
  67. virtual void executeChoke()
  68. {
  69. ++numChokeExecuted_;
  70. }
  71. int getNumChokeExecuted() const
  72. {
  73. return numChokeExecuted_;
  74. }
  75. };
  76. #endif // D_MOCK_PEER_STORAGE_H
  77. } // namespace aria2