summaryrefslogtreecommitdiff
path: root/src/DefaultBtAnnounce.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-08-05 11:54:44 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-08-05 11:54:44 +0000
commitc685ea9de9efdea119828ded02414f72b8271f31 (patch)
tree055e64aa8742f6e08e085751c146cb3a188a0d61 /src/DefaultBtAnnounce.cc
parentcba1283aaed888f4602b3e1426b0edf5aaf823fe (diff)
2010-08-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added support for peers6 key in tracker response. Added added6, added6.f and dropped6 in ut_pex. * src/BtAnnounce.cc * src/BtAnnounce.h * src/DefaultBtAnnounce.cc * src/UTPexExtensionMessage.cc * src/UTPexExtensionMessage.h * test/DefaultBtAnnounceTest.cc * test/UTPexExtensionMessageTest.cc
Diffstat (limited to 'src/DefaultBtAnnounce.cc')
-rw-r--r--src/DefaultBtAnnounce.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/DefaultBtAnnounce.cc b/src/DefaultBtAnnounce.cc
index e47cf6b6..5ea3ebdc 100644
--- a/src/DefaultBtAnnounce.cc
+++ b/src/DefaultBtAnnounce.cc
@@ -280,6 +280,16 @@ DefaultBtAnnounce::processAnnounceResponse(const unsigned char* trackerResponse,
peerStorage_->addPeer(peers);
}
}
+ const SharedHandle<ValueBase>& peer6Data = dict->get(BtAnnounce::PEERS6);
+ if(peer6Data.isNull()) {
+ logger_->info("No peers6 received.");
+ } else {
+ if(!btRuntime_->isHalt() && btRuntime_->lessThanMinPeers()) {
+ std::vector<SharedHandle<Peer> > peers;
+ bittorrent::extractPeer(peer6Data, AF_INET6, std::back_inserter(peers));
+ peerStorage_->addPeer(peers);
+ }
+ }
}
bool DefaultBtAnnounce::noMoreAnnounce() {