summaryrefslogtreecommitdiff
path: root/src/HandshakeExtensionMessage.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2015-12-27 18:39:47 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2015-12-27 18:40:08 +0900
commitb1132d6b10cd3791b9529d7031d723fd0e2d8215 (patch)
tree9ce465b42bf09372118335c7c619bb2b41869eaf /src/HandshakeExtensionMessage.cc
parent4abad2f64c9ff80144a61c5a9c2bea144852b883 (diff)
make clang-format using clang-format-3.6
Diffstat (limited to 'src/HandshakeExtensionMessage.cc')
-rw-r--r--src/HandshakeExtensionMessage.cc86
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;
}
}