| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | #ifndef D_MOCK_PEER_STORAGE_H#define D_MOCK_PEER_STORAGE_H#include "PeerStorage.h"#include <algorithm>#include "Peer.h"namespace aria2 {class MockPeerStorage : public PeerStorage {private:  std::deque<std::shared_ptr<Peer>> unusedPeers;  PeerSet usedPeers;  std::deque<std::shared_ptr<Peer>> droppedPeers;  std::vector<std::shared_ptr<Peer>> activePeers;  int numChokeExecuted_;public:  MockPeerStorage() : numChokeExecuted_(0) {}  virtual ~MockPeerStorage() {}  virtual bool addPeer(const std::shared_ptr<Peer>& peer) CXX11_OVERRIDE  {    unusedPeers.push_back(peer);    return true;  }  virtual void  addPeer(const std::vector<std::shared_ptr<Peer>>& peers) CXX11_OVERRIDE  {    unusedPeers.insert(unusedPeers.end(), peers.begin(), peers.end());  }  const std::deque<std::shared_ptr<Peer>>& getUnusedPeers()  {    return unusedPeers;  }  virtual size_t countAllPeer() const CXX11_OVERRIDE  {    return unusedPeers.size() + usedPeers.size();  }  virtual const std::deque<std::shared_ptr<Peer>>&  getDroppedPeers() CXX11_OVERRIDE  {    return droppedPeers;  }  void addDroppedPeer(const std::shared_ptr<Peer>& peer)  {    droppedPeers.push_back(peer);  }  virtual bool isPeerAvailable() CXX11_OVERRIDE { return false; }  void setActivePeers(const std::vector<std::shared_ptr<Peer>>& activePeers)  {    this->activePeers = activePeers;  }  void getActivePeers(std::vector<std::shared_ptr<Peer>>& peers)  {    peers.insert(peers.end(), activePeers.begin(), activePeers.end());  }  virtual const PeerSet& getUsedPeers() CXX11_OVERRIDE { return usedPeers; }  virtual bool isBadPeer(const std::string& ipaddr) CXX11_OVERRIDE  {    return false;  }  virtual void addBadPeer(const std::string& ipaddr) CXX11_OVERRIDE {}  virtual std::shared_ptr<Peer> checkoutPeer(cuid_t cuid) CXX11_OVERRIDE  {    return nullptr;  }  virtual void returnPeer(const std::shared_ptr<Peer>& peer) CXX11_OVERRIDE {}  virtual bool chokeRoundIntervalElapsed() CXX11_OVERRIDE { return false; }  virtual void executeChoke() CXX11_OVERRIDE { ++numChokeExecuted_; }  int getNumChokeExecuted() const { return numChokeExecuted_; }};#endif // D_MOCK_PEER_STORAGE_H} // namespace aria2
 |