MockBtMessageDispatcher.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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
  22. (size_t index, int32_t begin, int32_t length) {}
  23. virtual void doCancelSendingPieceAction(const SharedHandle<Piece>& piece) {}
  24. virtual void doAbortOutstandingRequestAction(const SharedHandle<Piece>& piece) {}
  25. virtual void doChokedAction() {}
  26. virtual void doChokingAction() {}
  27. virtual void checkRequestSlotAndDoNecessaryThing() {}
  28. virtual bool isSendingInProgress() {
  29. return false;
  30. }
  31. virtual size_t countMessageInQueue() {
  32. return messageQueue.size();
  33. }
  34. virtual size_t countOutstandingRequest() {
  35. return 0;
  36. }
  37. virtual bool isOutstandingRequest(size_t index, size_t blockIndex) {
  38. return false;
  39. }
  40. virtual RequestSlot getOutstandingRequest
  41. (size_t index, int32_t begin, int32_t length) {
  42. return RequestSlot::nullSlot;
  43. }
  44. virtual void removeOutstandingRequest(const RequestSlot& slot) {}
  45. virtual void addOutstandingRequest(const RequestSlot& slot) {}
  46. virtual size_t countOutstandingUpload()
  47. {
  48. return 0;
  49. }
  50. };
  51. } // namespace aria2
  52. #endif // D_MOCK_BT_MESSAGE_DISPATCHER_H