summaryrefslogtreecommitdiff
path: root/src/UTMetadataRequestExtensionMessage.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-01 21:42:51 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-01 21:42:51 +0900
commit529b9fdceb7b5a277a983badd29dca3cc69259c5 (patch)
tree39a3aa941dce2817c0640282ef9a78f9c1984e67 /src/UTMetadataRequestExtensionMessage.cc
parent9e35750bb8db4376052898e3ed0e1bfa0bd0bfaf (diff)
Use std::unique_ptr for ExtensionMessage
Diffstat (limited to 'src/UTMetadataRequestExtensionMessage.cc')
-rw-r--r--src/UTMetadataRequestExtensionMessage.cc46
1 files changed, 28 insertions, 18 deletions
diff --git a/src/UTMetadataRequestExtensionMessage.cc b/src/UTMetadataRequestExtensionMessage.cc
index 21795929..42b9a887 100644
--- a/src/UTMetadataRequestExtensionMessage.cc
+++ b/src/UTMetadataRequestExtensionMessage.cc
@@ -54,13 +54,13 @@
namespace aria2 {
UTMetadataRequestExtensionMessage::UTMetadataRequestExtensionMessage
-(uint8_t extensionMessageID):UTMetadataExtensionMessage(extensionMessageID),
- dispatcher_(0),
- messageFactory_(0)
+(uint8_t extensionMessageID)
+ : UTMetadataExtensionMessage{extensionMessageID},
+ dctx_{nullptr},
+ dispatcher_{nullptr},
+ messageFactory_{nullptr}
{}
-UTMetadataRequestExtensionMessage::~UTMetadataRequestExtensionMessage() {}
-
std::string UTMetadataRequestExtensionMessage::getPayload()
{
Dict dict;
@@ -81,25 +81,22 @@ void UTMetadataRequestExtensionMessage::doReceivedAction()
uint8_t id = peer_->getExtensionMessageID
(ExtensionMessageRegistry::UT_METADATA);
if(attrs->metadata.empty()) {
- std::shared_ptr<UTMetadataRejectExtensionMessage> m
- (new UTMetadataRejectExtensionMessage(id));
+ auto m = make_unique<UTMetadataRejectExtensionMessage>(id);
m->setIndex(getIndex());
dispatcher_->addMessageToQueue
- (messageFactory_->createBtExtendedMessage(m));
+ (messageFactory_->createBtExtendedMessage(std::move(m)));
}else if(getIndex()*METADATA_PIECE_SIZE < attrs->metadataSize) {
- std::shared_ptr<UTMetadataDataExtensionMessage> m
- (new UTMetadataDataExtensionMessage(id));
+ auto m = make_unique<UTMetadataDataExtensionMessage>(id);
m->setIndex(getIndex());
m->setTotalSize(attrs->metadataSize);
- std::string::const_iterator begin =
- attrs->metadata.begin()+getIndex()*METADATA_PIECE_SIZE;
- std::string::const_iterator end =
+ auto begin = std::begin(attrs->metadata)+getIndex()*METADATA_PIECE_SIZE;
+ auto end =
(getIndex()+1)*METADATA_PIECE_SIZE <= attrs->metadata.size()?
- attrs->metadata.begin()+(getIndex()+1)*METADATA_PIECE_SIZE:
- attrs->metadata.end();
+ std::begin(attrs->metadata)+(getIndex()+1)*METADATA_PIECE_SIZE:
+ std::end(attrs->metadata);
m->setData(begin, end);
dispatcher_->addMessageToQueue
- (messageFactory_->createBtExtendedMessage(m));
+ (messageFactory_->createBtExtendedMessage(std::move(m)));
} else {
throw DL_ABORT_EX
(fmt("Metadata piece index is too big. piece=%lu",
@@ -108,14 +105,27 @@ void UTMetadataRequestExtensionMessage::doReceivedAction()
}
void UTMetadataRequestExtensionMessage::setDownloadContext
-(const std::shared_ptr<DownloadContext>& dctx)
+(DownloadContext* dctx)
{
dctx_ = dctx;
}
-void UTMetadataRequestExtensionMessage::setPeer(const std::shared_ptr<Peer>& peer)
+void UTMetadataRequestExtensionMessage::setPeer
+(const std::shared_ptr<Peer>& peer)
{
peer_ = peer;
}
+void UTMetadataRequestExtensionMessage::setBtMessageDispatcher
+(BtMessageDispatcher* disp)
+{
+ dispatcher_ = disp;
+}
+
+void UTMetadataRequestExtensionMessage::setBtMessageFactory
+(BtMessageFactory* factory)
+{
+ messageFactory_ = factory;
+}
+
} // namespace aria2