summaryrefslogtreecommitdiff
path: root/src/DefaultBtMessageFactory.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-06-23 16:12:19 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-06-23 16:12:19 +0900
commit23086b6e21ee846f56d1cdd3711ff1a38b44c627 (patch)
treeabd06d8866a4f06dde872f633a6dc22965648fe3 /src/DefaultBtMessageFactory.cc
parenta18bba7c66bd8b5539963227ba43f5b9d296e196 (diff)
AbstractBtMessage: Use std::unique_ptr for validator
Diffstat (limited to 'src/DefaultBtMessageFactory.cc')
-rw-r--r--src/DefaultBtMessageFactory.cc50
1 files changed, 21 insertions, 29 deletions
diff --git a/src/DefaultBtMessageFactory.cc b/src/DefaultBtMessageFactory.cc
index ad2a3cc8..1f519fdb 100644
--- a/src/DefaultBtMessageFactory.cc
+++ b/src/DefaultBtMessageFactory.cc
@@ -123,31 +123,27 @@ DefaultBtMessageFactory::createBtMessage
case BtHaveMessage::ID:
msg.reset(BtHaveMessage::create(data, dataLength));
if(!metadataGetMode_) {
- std::shared_ptr<BtMessageValidator> v
- (new IndexBtMessageValidator(static_cast<BtHaveMessage*>(msg.get()),
- downloadContext_->getNumPieces()));
- msg->setBtMessageValidator(v);
+ msg->setBtMessageValidator(make_unique<IndexBtMessageValidator>
+ (static_cast<BtHaveMessage*>(msg.get()),
+ downloadContext_->getNumPieces()));
}
break;
case BtBitfieldMessage::ID:
msg.reset(BtBitfieldMessage::create(data, dataLength));
if(!metadataGetMode_) {
- std::shared_ptr<BtMessageValidator> v
- (new BtBitfieldMessageValidator
- (static_cast<BtBitfieldMessage*>(msg.get()),
- downloadContext_->getNumPieces()));
- msg->setBtMessageValidator(v);
+ msg->setBtMessageValidator(make_unique<BtBitfieldMessageValidator>
+ (static_cast<BtBitfieldMessage*>(msg.get()),
+ downloadContext_->getNumPieces()));
}
break;
case BtRequestMessage::ID: {
BtRequestMessage* m = BtRequestMessage::create(data, dataLength);
if(!metadataGetMode_) {
- std::shared_ptr<BtMessageValidator> validator
- (new RangeBtMessageValidator
+ m->setBtMessageValidator
+ (make_unique<RangeBtMessageValidator>
(m,
downloadContext_->getNumPieces(),
pieceStorage_->getPieceLength(m->getIndex())));
- m->setBtMessageValidator(validator);
}
msg.reset(m);
break;
@@ -155,12 +151,11 @@ DefaultBtMessageFactory::createBtMessage
case BtCancelMessage::ID: {
BtCancelMessage* m = BtCancelMessage::create(data, dataLength);
if(!metadataGetMode_) {
- std::shared_ptr<BtMessageValidator> validator
- (new RangeBtMessageValidator
+ m->setBtMessageValidator
+ (make_unique<RangeBtMessageValidator>
(m,
downloadContext_->getNumPieces(),
pieceStorage_->getPieceLength(m->getIndex())));
- m->setBtMessageValidator(validator);
}
msg.reset(m);
break;
@@ -168,12 +163,11 @@ DefaultBtMessageFactory::createBtMessage
case BtPieceMessage::ID: {
BtPieceMessage* m = BtPieceMessage::create(data, dataLength);
if(!metadataGetMode_) {
- std::shared_ptr<BtMessageValidator> validator
- (new BtPieceMessageValidator
+ m->setBtMessageValidator
+ (make_unique<BtPieceMessageValidator>
(m,
downloadContext_->getNumPieces(),
pieceStorage_->getPieceLength(m->getIndex())));
- m->setBtMessageValidator(validator);
}
m->setDownloadContext(downloadContext_);
m->setPeerStorage(peerStorage_);
@@ -189,12 +183,11 @@ DefaultBtMessageFactory::createBtMessage
case BtRejectMessage::ID: {
BtRejectMessage* m = BtRejectMessage::create(data, dataLength);
if(!metadataGetMode_) {
- std::shared_ptr<BtMessageValidator> validator
- (new RangeBtMessageValidator
+ m->setBtMessageValidator
+ (make_unique<RangeBtMessageValidator>
(m,
downloadContext_->getNumPieces(),
pieceStorage_->getPieceLength(m->getIndex())));
- m->setBtMessageValidator(validator);
}
msg.reset(m);
break;
@@ -203,9 +196,8 @@ DefaultBtMessageFactory::createBtMessage
BtSuggestPieceMessage* m =
BtSuggestPieceMessage::create(data, dataLength);
if(!metadataGetMode_) {
- std::shared_ptr<BtMessageValidator> validator
- (new IndexBtMessageValidator(m, downloadContext_->getNumPieces()));
- m->setBtMessageValidator(validator);
+ m->setBtMessageValidator(make_unique<IndexBtMessageValidator>
+ (m, downloadContext_->getNumPieces()));
}
msg.reset(m);
break;
@@ -215,7 +207,8 @@ DefaultBtMessageFactory::createBtMessage
if(!metadataGetMode_) {
std::shared_ptr<BtMessageValidator> validator
(new IndexBtMessageValidator(m, downloadContext_->getNumPieces()));
- m->setBtMessageValidator(validator);
+ m->setBtMessageValidator(make_unique<IndexBtMessageValidator>
+ (m, downloadContext_->getNumPieces()));
}
msg.reset(m);
break;
@@ -267,10 +260,9 @@ DefaultBtMessageFactory::createHandshakeMessage
{
std::shared_ptr<BtHandshakeMessage> msg =
BtHandshakeMessage::create(data, dataLength);
- std::shared_ptr<BtMessageValidator> validator
- (new BtHandshakeMessageValidator
- (msg.get(), bittorrent::getInfoHash(downloadContext_)));
- msg->setBtMessageValidator(validator);
+ msg->setBtMessageValidator(make_unique<BtHandshakeMessageValidator>
+ (msg.get(),
+ bittorrent::getInfoHash(downloadContext_)));
setCommonProperty(msg.get());
return msg;
}