MockBtMessageDispatcher.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef D_MOCK_BT_MESSAGE_DISPATCHER_H
  2. #define D_MOCK_BT_MESSAGE_DISPATCHER_H
  3. #include "BtMessageDispatcher.h"
  4. #include <algorithm>
  5. #include "BtMessage.h"
  6. #include "Piece.h"
  7. namespace aria2 {
  8. class MockBtMessageDispatcher : public BtMessageDispatcher {
  9. public:
  10. std::deque<SharedHandle<BtMessage> > messageQueue;
  11. virtual ~MockBtMessageDispatcher() {}
  12. virtual void addMessageToQueue(const SharedHandle<BtMessage>& btMessage) {
  13. messageQueue.push_back(btMessage);
  14. }
  15. virtual void addMessageToQueue
  16. (const std::vector<SharedHandle<BtMessage> >& btMessages)
  17. {
  18. std::copy(btMessages.begin(), btMessages.end(), back_inserter(messageQueue));
  19. }
  20. virtual void sendMessages() {}
  21. virtual void doCancelSendingPieceAction(size_t index, uint32_t begin, size_t length) {}
  22. virtual void doCancelSendingPieceAction(const SharedHandle<Piece>& piece) {}
  23. virtual void doAbortOutstandingRequestAction(const SharedHandle<Piece>& piece) {}
  24. virtual void doChokedAction() {}
  25. virtual void doChokingAction() {}
  26. virtual void checkRequestSlotAndDoNecessaryThing() {}
  27. virtual bool isSendingInProgress() {
  28. return false;
  29. }
  30. virtual size_t countMessageInQueue() {
  31. return messageQueue.size();
  32. }
  33. virtual size_t countOutstandingRequest() {
  34. return 0;
  35. }
  36. virtual bool isOutstandingRequest(size_t index, size_t blockIndex) {
  37. return false;
  38. }
  39. virtual RequestSlot getOutstandingRequest(size_t index, uint32_t begin, size_t length) {
  40. return RequestSlot::nullSlot;
  41. }
  42. virtual void removeOutstandingRequest(const RequestSlot& slot) {}
  43. virtual void addOutstandingRequest(const RequestSlot& slot) {}
  44. virtual size_t countOutstandingUpload()
  45. {
  46. return 0;
  47. }
  48. };
  49. } // namespace aria2
  50. #endif // D_MOCK_BT_MESSAGE_DISPATCHER_H