diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-07-01 21:42:51 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-07-01 21:42:51 +0900 |
| commit | 529b9fdceb7b5a277a983badd29dca3cc69259c5 (patch) | |
| tree | 39a3aa941dce2817c0640282ef9a78f9c1984e67 /src/BtExtendedMessage.cc | |
| parent | 9e35750bb8db4376052898e3ed0e1bfa0bd0bfaf (diff) | |
Use std::unique_ptr for ExtensionMessage
Diffstat (limited to 'src/BtExtendedMessage.cc')
| -rw-r--r-- | src/BtExtendedMessage.cc | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/BtExtendedMessage.cc b/src/BtExtendedMessage.cc index 901d72f3..6ecf4790 100644 --- a/src/BtExtendedMessage.cc +++ b/src/BtExtendedMessage.cc @@ -51,14 +51,12 @@ namespace aria2 { const char BtExtendedMessage::NAME[] = "extended"; BtExtendedMessage::BtExtendedMessage -(const std::shared_ptr<ExtensionMessage>& extensionMessage): +(std::unique_ptr<ExtensionMessage> extensionMessage): SimpleBtMessage(ID, NAME), - extensionMessage_(extensionMessage), + extensionMessage_(std::move(extensionMessage)), msgLength_(0) {} -BtExtendedMessage::~BtExtendedMessage() {} - unsigned char* BtExtendedMessage::createMessage() { /** @@ -97,16 +95,15 @@ std::string BtExtendedMessage::toString() const { } std::unique_ptr<BtExtendedMessage> -BtExtendedMessage::create(const std::shared_ptr<ExtensionMessageFactory>& factory, +BtExtendedMessage::create(ExtensionMessageFactory* factory, const std::shared_ptr<Peer>& peer, const unsigned char* data, size_t dataLength) { bittorrent::assertPayloadLengthGreater(1, dataLength, NAME); bittorrent::assertID(ID, data, NAME); assert(factory); - std::shared_ptr<ExtensionMessage> extmsg = factory->createMessage(data+1, - dataLength-1); - return make_unique<BtExtendedMessage>(extmsg); + return make_unique<BtExtendedMessage> + (factory->createMessage(data+1, dataLength-1)); } void BtExtendedMessage::doReceivedAction() @@ -116,4 +113,10 @@ void BtExtendedMessage::doReceivedAction() } } +const std::unique_ptr<ExtensionMessage>& +BtExtendedMessage::getExtensionMessage() const +{ + return extensionMessage_; +} + } // namespace aria2 |
