MockPeerStorage.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #ifndef _D_MOCK_PEER_STORAGE_H_
  2. #define _D_MOCK_PEER_STORAGE_H_
  3. #include "PeerStorage.h"
  4. #include "Peer.h"
  5. #include <algorithm>
  6. namespace aria2 {
  7. class MockPeerStorage : public PeerStorage {
  8. private:
  9. TransferStat stat;
  10. std::deque<SharedHandle<Peer> > peers;
  11. std::deque<SharedHandle<Peer> > activePeers;
  12. public:
  13. MockPeerStorage() {}
  14. virtual ~MockPeerStorage() {}
  15. virtual bool addPeer(const SharedHandle<Peer>& peer) {
  16. peers.push_back(peer);
  17. return true;
  18. }
  19. virtual void addPeer(const std::deque<SharedHandle<Peer> >& peers) {
  20. std::copy(peers.begin(), peers.end(), back_inserter(this->peers));
  21. }
  22. virtual const std::deque<SharedHandle<Peer> >& getPeers() {
  23. return peers;
  24. }
  25. virtual SharedHandle<Peer> getUnusedPeer() {
  26. return SharedHandle<Peer>();
  27. }
  28. virtual bool isPeerAvailable() {
  29. return false;
  30. }
  31. void setActivePeers(const std::deque<SharedHandle<Peer> >& activePeers)
  32. {
  33. this->activePeers = activePeers;
  34. }
  35. virtual void getActivePeers(std::deque<SharedHandle<Peer> >& peers) {
  36. peers.insert(peers.end(), activePeers.begin(), activePeers.end());
  37. }
  38. virtual TransferStat calculateStat() {
  39. return stat;
  40. }
  41. void setStat(const TransferStat& stat) {
  42. this->stat = stat;
  43. }
  44. virtual void returnPeer(const SharedHandle<Peer>& peer)
  45. {
  46. }
  47. virtual bool chokeRoundIntervalElapsed()
  48. {
  49. return false;
  50. }
  51. virtual void executeChoke() {}
  52. };
  53. #endif // _D_MOCK_PEER_STORAGE_H_
  54. } // namespace aria2