summaryrefslogtreecommitdiff
path: root/src/BtNotInterestedMessage.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-03-12 15:54:43 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-03-12 15:54:43 +0000
commit15582ed8cdbfd58d86fc1d92e37c87d2664450cd (patch)
tree405e75ec596ae46ac889ae9b0ac8f611c538d0b1 /src/BtNotInterestedMessage.cc
parent371ef954d5390ada5e9debd9652e982b1b225be7 (diff)
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Refactored BtMessage subclasses. BtCancelMessage, BtRequestMessage and BtRejectMessage are derived from RangeBtMessage class. BtAllowedFastMessage, BtHaveMessage and BtSuggestPieceMessage are derived from IndexBtMessage class. BtChokeMessage, BtHaveAllMessage, BtHaveNoneMessage, BtInterestedMessage, BtNotInterestedMessage and BtUnchokeMessage are derived from ZeroBtMessage class. * src/AbstractBtMessage.cc * src/AbstractBtMessage.h * src/BtAllowedFastMessage.cc * src/BtAllowedFastMessage.h * src/BtAllowedFastMessageValidator.h: Removed * src/BtBitfieldMessage.cc * src/BtBitfieldMessage.h * src/BtCancelMessage.cc * src/BtCancelMessage.h * src/BtCancelMessageValidator.h: Removed * src/BtChokeMessage.cc * src/BtChokeMessage.h * src/BtExtendedMessage.cc * src/BtExtendedMessage.h * src/BtHandshakeMessage.cc * src/BtHandshakeMessage.h * src/BtHaveAllMessage.cc * src/BtHaveAllMessage.h * src/BtHaveMessage.cc * src/BtHaveMessage.h * src/BtHaveMessageValidator.h: Removed * src/BtHaveNoneMessage.cc * src/BtHaveNoneMessage.h * src/BtInterestedMessage.cc * src/BtInterestedMessage.h * src/BtKeepAliveMessage.cc * src/BtKeepAliveMessage.h * src/BtNotInterestedMessage.cc * src/BtNotInterestedMessage.h * src/BtPieceMessage.cc * src/BtPieceMessage.h * src/BtPortMessage.cc * src/BtPortMessage.h * src/BtRejectMessage.cc * src/BtRejectMessage.h * src/BtRejectMessageValidator.h: Removed * src/BtRequestMessage.cc * src/BtRequestMessage.h * src/BtRequestMessageValidator.h: Removed * src/BtSuggestPieceMessage.cc * src/BtSuggestPieceMessage.h * src/BtSuggestPieceMessageValidator.h: Removed * src/BtUnchokeMessage.cc * src/BtUnchokeMessage.h * src/DefaultBtMessageFactory.cc * src/IndexBtMessage.cc * src/IndexBtMessage.h * src/IndexBtMessageValidator.h * src/Makefile.am * src/PeerMessageUtil.cc * src/PeerMessageUtil.h * src/RangeBtMessage.cc * src/RangeBtMessage.h * src/RangeBtMessageValidator.h * src/SimpleBtMessage.cc * src/SimpleBtMessage.h * src/ZeroBtMessage.cc * src/ZeroBtMessage.h * test/BtRequestMessageTest.cc
Diffstat (limited to 'src/BtNotInterestedMessage.cc')
-rw-r--r--src/BtNotInterestedMessage.cc51
1 files changed, 10 insertions, 41 deletions
diff --git a/src/BtNotInterestedMessage.cc b/src/BtNotInterestedMessage.cc
index 37829be8..a4adc7df 100644
--- a/src/BtNotInterestedMessage.cc
+++ b/src/BtNotInterestedMessage.cc
@@ -33,67 +33,36 @@
*/
/* copyright --> */
#include "BtNotInterestedMessage.h"
-#include "PeerMessageUtil.h"
-#include "DlAbortEx.h"
-#include "message.h"
#include "Peer.h"
-#include "BtContext.h"
#include "PeerStorage.h"
-#include "StringFormat.h"
namespace aria2 {
-BtNotInterestedMessageHandle BtNotInterestedMessage::create(const unsigned char* data, size_t dataLength) {
- if(dataLength != 1) {
- throw DlAbortEx
- (StringFormat(EX_INVALID_PAYLOAD_SIZE, "not interested", dataLength, 1).str());
- }
- uint8_t id = PeerMessageUtil::getId(data);
- if(id != ID) {
- throw DlAbortEx
- (StringFormat(EX_INVALID_BT_MESSAGE_ID, id, "not interested", ID).str());
- }
- BtNotInterestedMessageHandle message(new BtNotInterestedMessage());
- return message;
+const std::string BtNotInterestedMessage::NAME("not interested");
+
+SharedHandle<BtNotInterestedMessage> BtNotInterestedMessage::create
+(const unsigned char* data, size_t dataLength)
+{
+ return ZeroBtMessage::create<BtNotInterestedMessage>(data, dataLength);
}
-void BtNotInterestedMessage::doReceivedAction() {
+void BtNotInterestedMessage::doReceivedAction()
+{
peer->peerInterested(false);
if(!peer->amChoking()) {
_peerStorage->executeChoke();
}
}
-bool BtNotInterestedMessage::sendPredicate() const {
+bool BtNotInterestedMessage::sendPredicate() const
+{
return peer->amInterested();
}
-const unsigned char* BtNotInterestedMessage::getMessage() {
- if(!msg) {
- /**
- * len --- 1, 4bytes
- * id --- 3, 1byte
- * total: 5bytes
- */
- msg = new unsigned char[MESSAGE_LENGTH];
- PeerMessageUtil::createPeerMessageString(msg, MESSAGE_LENGTH, 1, ID);
- }
- return msg;
-}
-
-size_t BtNotInterestedMessage::getMessageLength() {
- return MESSAGE_LENGTH;
-}
-
void BtNotInterestedMessage::onSendComplete() {
peer->amInterested(false);
}
-std::string BtNotInterestedMessage::toString() const {
- static const std::string NOT_INTERESTED("not interested");
- return NOT_INTERESTED;
-}
-
void BtNotInterestedMessage::setPeerStorage
(const SharedHandle<PeerStorage>& peerStorage)
{