diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2015-12-27 18:39:47 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2015-12-27 18:40:08 +0900 |
| commit | b1132d6b10cd3791b9529d7031d723fd0e2d8215 (patch) | |
| tree | 9ce465b42bf09372118335c7c619bb2b41869eaf /src/HandshakeExtensionMessage.cc | |
| parent | 4abad2f64c9ff80144a61c5a9c2bea144852b883 (diff) | |
make clang-format using clang-format-3.6
Diffstat (limited to 'src/HandshakeExtensionMessage.cc')
| -rw-r--r-- | src/HandshakeExtensionMessage.cc | 86 |
1 files changed, 44 insertions, 42 deletions
diff --git a/src/HandshakeExtensionMessage.cc b/src/HandshakeExtensionMessage.cc index f7eddf65..e594acad 100644 --- a/src/HandshakeExtensionMessage.cc +++ b/src/HandshakeExtensionMessage.cc @@ -52,27 +52,28 @@ namespace aria2 { const char HandshakeExtensionMessage::EXTENSION_NAME[] = "handshake"; HandshakeExtensionMessage::HandshakeExtensionMessage() - : tcpPort_{0}, metadataSize_{0}, dctx_{nullptr} -{} + : tcpPort_{0}, metadataSize_{0}, dctx_{nullptr} +{ +} std::string HandshakeExtensionMessage::getPayload() { Dict dict; - if(!clientVersion_.empty()) { + if (!clientVersion_.empty()) { dict.put("v", clientVersion_); } - if(tcpPort_ > 0) { + if (tcpPort_ > 0) { dict.put("p", Integer::g(tcpPort_)); } auto extDict = Dict::g(); - for(int i = 0; i < ExtensionMessageRegistry::MAX_EXTENSION; ++i) { + for (int i = 0; i < ExtensionMessageRegistry::MAX_EXTENSION; ++i) { int id = extreg_.getExtensionMessageID(i); - if(id) { + if (id) { extDict->put(strBtExtension(i), Integer::g(id)); } } dict.put("m", std::move(extDict)); - if(metadataSize_) { + if (metadataSize_) { dict.put("metadata_size", Integer::g(metadataSize_)); } return bencode2::encode(&dict); @@ -82,12 +83,11 @@ std::string HandshakeExtensionMessage::toString() const { std::string s(fmt("%s client=%s, tcpPort=%u, metadataSize=%lu", getExtensionName(), - util::percentEncode(clientVersion_).c_str(), - tcpPort_, + util::percentEncode(clientVersion_).c_str(), tcpPort_, static_cast<unsigned long>(metadataSize_))); - for(int i = 0; i < ExtensionMessageRegistry::MAX_EXTENSION; ++i) { + for (int i = 0; i < ExtensionMessageRegistry::MAX_EXTENSION; ++i) { int id = extreg_.getExtensionMessageID(i); - if(id) { + if (id) { s += fmt(", %s=%u", strBtExtension(i), id); } } @@ -96,30 +96,31 @@ std::string HandshakeExtensionMessage::toString() const void HandshakeExtensionMessage::doReceivedAction() { - if(tcpPort_ > 0) { + if (tcpPort_ > 0) { peer_->setPort(tcpPort_); peer_->setIncomingPeer(false); } - for(int i = 0; i < ExtensionMessageRegistry::MAX_EXTENSION; ++i) { + for (int i = 0; i < ExtensionMessageRegistry::MAX_EXTENSION; ++i) { int id = extreg_.getExtensionMessageID(i); - if(id) { + if (id) { peer_->setExtension(i, id); } } auto attrs = bittorrent::getTorrentAttrs(dctx_); - if(attrs->metadata.empty()) { - if(!peer_->getExtensionMessageID(ExtensionMessageRegistry::UT_METADATA)) { + if (attrs->metadata.empty()) { + if (!peer_->getExtensionMessageID(ExtensionMessageRegistry::UT_METADATA)) { // TODO In metadataGetMode, if peer don't support metadata // transfer, should we drop connection? There is a possibility // that peer can still tell us peers using PEX. throw DL_ABORT_EX("Peer doesn't support ut_metadata extension. Goodbye."); } - if(metadataSize_ > 0) { - if(attrs->metadataSize) { - if(metadataSize_ != attrs->metadataSize) { + if (metadataSize_ > 0) { + if (attrs->metadataSize) { + if (metadataSize_ != attrs->metadataSize) { throw DL_ABORT_EX("Wrong metadata_size. Which one is correct!?"); } - } else { + } + else { attrs->metadataSize = metadataSize_; dctx_->getFirstFileEntry()->setLength(metadataSize_); dctx_->markTotalLengthIsKnown(); @@ -131,7 +132,8 @@ void HandshakeExtensionMessage::doReceivedAction() peer_->reconfigureSessionResource(dctx_->getPieceLength(), dctx_->getTotalLength()); peer_->setAllBitfield(); - } else { + } + else { throw DL_ABORT_EX("Peer didn't provide metadata_size." " It seems that it doesn't have whole metadata."); } @@ -161,43 +163,43 @@ uint8_t HandshakeExtensionMessage::getExtensionMessageID(int key) const std::unique_ptr<HandshakeExtensionMessage> HandshakeExtensionMessage::create(const unsigned char* data, size_t length) { - if(length < 1) { - throw DL_ABORT_EX - (fmt(MSG_TOO_SMALL_PAYLOAD_SIZE, - EXTENSION_NAME, static_cast<unsigned long>(length))); + if (length < 1) { + throw DL_ABORT_EX(fmt(MSG_TOO_SMALL_PAYLOAD_SIZE, EXTENSION_NAME, + static_cast<unsigned long>(length))); } A2_LOG_DEBUG(fmt("Creating HandshakeExtensionMessage from %s", util::percentEncode(data, length).c_str())); - auto decoded = bencode2::decode(data+1, length - 1); + auto decoded = bencode2::decode(data + 1, length - 1); const Dict* dict = downcast<Dict>(decoded); - if(!dict) { - throw DL_ABORT_EX - ("Unexpected payload format for extended message handshake"); + if (!dict) { + throw DL_ABORT_EX( + "Unexpected payload format for extended message handshake"); } auto msg = make_unique<HandshakeExtensionMessage>(); const Integer* port = downcast<Integer>(dict->get("p")); - if(port && 0 < port->i() && port->i() < 65536) { + if (port && 0 < port->i() && port->i() < 65536) { msg->tcpPort_ = port->i(); } const String* version = downcast<String>(dict->get("v")); - if(version) { + if (version) { msg->clientVersion_ = version->s(); } const Dict* extDict = downcast<Dict>(dict->get("m")); - if(extDict) { - for(auto & elem : *extDict) { + if (extDict) { + for (auto& elem : *extDict) { const Integer* extId = downcast<Integer>(elem.second); - if(extId) { - if(extId->i() < 0 || extId->i() > 255) { + if (extId) { + if (extId->i() < 0 || extId->i() > 255) { A2_LOG_DEBUG(fmt("Extension ID=%" PRId64 " is invalid", extId->i())); continue; } int key = keyBtExtension(elem.first.c_str()); - if(key == ExtensionMessageRegistry::MAX_EXTENSION) { + if (key == ExtensionMessageRegistry::MAX_EXTENSION) { A2_LOG_DEBUG(fmt("Unsupported BitTorrent extension %s=%" PRId64, elem.first.c_str(), extId->i())); - } else { + } + else { msg->setExtension(key, extId->i()); } } @@ -205,17 +207,17 @@ HandshakeExtensionMessage::create(const unsigned char* data, size_t length) } const Integer* metadataSize = downcast<Integer>(dict->get("metadata_size")); - if(metadataSize) { + if (metadataSize) { auto size = metadataSize->i(); - if(size < 0) { - throw DL_ABORT_EX(fmt("Negative metadataSize %" PRId64 " was received", - size)); + if (size < 0) { + throw DL_ABORT_EX( + fmt("Negative metadataSize %" PRId64 " was received", size)); } // Only accept metadata smaller than 1MiB. Be aware that broken // client can send negative size! - if(size > 0 && size <= static_cast<int64_t>(1_m)) { + if (size > 0 && size <= static_cast<int64_t>(1_m)) { msg->metadataSize_ = size; } } |
