aria2/test/MockBtMessageDispatcher.h

62 lines
1.6 KiB
C
Raw Normal View History

2006-12-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> Rewritten a portion of bittorrent implementation: * src/BtMessageValidator.h: New class. * src/BtBitfieldMessageValidator.h: New class. * src/BtHandshakeMessageValidator.h: New class. * src/BtRequestMessageValidator.h: New class. * src/BtSuggestPieceMessageValidator.h: New class. * src/BtAllowedFastMessageValidator.h: New class. * src/BtRejectMessageValidator.h: New class. * src/BtCancelMessageValidator.h: New class. * src/BtPieceMessageValidator.h: New class. * src/BtHaveMessageValidator.h: New class. * src/BtEventListener.h: New class. * src/AbstractBtEventListener.h: New class. * src/BtEvent.h: New class. * src/BtChokingEvent.h: New class. * src/BtChokedEvent.h: New class. * src/BtCancelSendingPieceEvent.h: New class. * src/BtAbortOutstandingRequestEvent.h: New class. * src/Randomizer.h: New class. * src/SimpleRandomizer.h: New class. * src/BtMessage.h: New class. * src/AbstractBtMessage.h: New class. * src/SimpleBtMessage.h: New class. * src/BtHaveMessage.h: New class. * src/BtInterestedMessage.h: New class. * src/BtAllowedFastMessage.h: New class. * src/BtUnchokeMessage.h: New class. * src/BtCancelMessage.h: New class. * src/BtNotInterestedMessage.h: New class. * src/BtChokeMessage.h: New class. * src/BtHaveNoneMessage.h: New class. * src/BtHandshakeMessage.h: New class. * src/BtSuggestPieceMessage.h: New class. * src/BtHaveMessage.h: New class. * src/BtPieceMessage.h: New class. * src/BtHaveAllMessage.h: New class. * src/BtKeepAliveMessage.h: New class. * src/BtPortMessage.h: New class. * src/BtRejectMessage.h: New class. * src/BtBitfieldMessage.h: New class. * src/BtRequestMessage.h: New class. * src/DefaultBtRequestFactory.h: New class. * src/DefaultBtMessageReceiver.h: New class. * src/BtInteractive.h: New class. * src/BtMessageDispatcher.h: New class. * src/DefaultBtMessageDispatcher.h: New class. * src/DefaultBtInteractive.h: New class. * src/BitfieldManFactory.h: New class. * src/HandleRegistry.h: New class. * src/BtMessageFactory.h: New class. * src/BtMessageReceiver.h: New class. * src/DefaultBtMessageFactory.h: New class. * src/PeerObject.h: New class. * src/BtRequestFactory.h: New class.
2006-12-24 06:25:21 +00:00
#ifndef _D_MOCK_BT_MESSAGE_DISPATCHER_H_
#define _D_MOCK_BT_MESSAGE_DISPATCHER_H_
#include "BtMessageDispatcher.h"
class MockBtMessageDispatcher : public BtMessageDispatcher {
public:
BtMessages messageQueue;
virtual ~MockBtMessageDispatcher() {}
virtual void addMessageToQueue(const BtMessageHandle& btMessage) {
messageQueue.push_back(btMessage);
}
virtual void addMessageToQueue(const BtMessages& btMessages) {
copy(btMessages.begin(), btMessages.end(), back_inserter(messageQueue));
}
virtual void sendMessages() {}
virtual void doCancelSendingPieceAction(uint32_t index, uint32_t begin, uint32_t blockLength) {}
virtual void doCancelSendingPieceAction(const PieceHandle& piece) {}
virtual void doAbortOutstandingRequestAction(const PieceHandle& piece) {}
virtual void doChokedAction() {}
virtual void doChokingAction() {}
virtual void checkRequestSlotAndDoNecessaryThing() {}
virtual bool isSendingInProgress() {
return false;
}
virtual uint32_t countMessageInQueue() {
return messageQueue.size();
}
virtual uint32_t countOutstandingRequest() {
return 0;
}
virtual bool isOutstandingRequest(uint32_t index, uint32_t blockIndex) {
return false;
}
virtual RequestSlot getOutstandingRequest(uint32_t index, uint32_t begin, uint32_t blockLength) {
return RequestSlot::nullSlot;
}
virtual void removeOutstandingRequest(const RequestSlot& slot) {}
virtual void addOutstandingRequest(const RequestSlot& slot) {}
};
typedef SharedHandle<MockBtMessageDispatcher> MockBtMessageDispatcherHandle;
#endif // _D_MOCK_BT_MESSAGE_DISPATCHER_H_