MockBtMessageDispatcher.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. BtMessages messageQueue;
  11. virtual ~MockBtMessageDispatcher() {}
  12. virtual void addMessageToQueue(const SharedHandle<BtMessage>& btMessage) {
  13. messageQueue.push_back(btMessage);
  14. }
  15. virtual void addMessageToQueue(const std::deque<SharedHandle<BtMessage> >& btMessages) {
  16. std::copy(btMessages.begin(), btMessages.end(), back_inserter(messageQueue));
  17. }
  18. virtual void sendMessages() {}
  19. virtual void doCancelSendingPieceAction(size_t index, uint32_t begin, size_t length) {}
  20. virtual void doCancelSendingPieceAction(const SharedHandle<Piece>& piece) {}
  21. virtual void doAbortOutstandingRequestAction(const SharedHandle<Piece>& piece) {}
  22. virtual void doChokedAction() {}
  23. virtual void doChokingAction() {}
  24. virtual void checkRequestSlotAndDoNecessaryThing() {}
  25. virtual bool isSendingInProgress() {
  26. return false;
  27. }
  28. virtual size_t countMessageInQueue() {
  29. return messageQueue.size();
  30. }
  31. virtual size_t countOutstandingRequest() {
  32. return 0;
  33. }
  34. virtual bool isOutstandingRequest(size_t index, size_t blockIndex) {
  35. return false;
  36. }
  37. virtual RequestSlot getOutstandingRequest(size_t index, uint32_t begin, size_t length) {
  38. return RequestSlot::nullSlot;
  39. }
  40. virtual void removeOutstandingRequest(const RequestSlot& slot) {}
  41. virtual void addOutstandingRequest(const RequestSlot& slot) {}
  42. virtual size_t countOutstandingUpload()
  43. {
  44. return 0;
  45. }
  46. };
  47. } // namespace aria2
  48. #endif // _D_MOCK_BT_MESSAGE_DISPATCHER_H_