diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-08-05 11:54:44 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-08-05 11:54:44 +0000 |
| commit | c685ea9de9efdea119828ded02414f72b8271f31 (patch) | |
| tree | 055e64aa8742f6e08e085751c146cb3a188a0d61 /src/DefaultBtAnnounce.cc | |
| parent | cba1283aaed888f4602b3e1426b0edf5aaf823fe (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.cc | 10 |
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() { |
