Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: net/dns/dns_transaction.cc

Issue 1352233002: Returning scoped_ptr<> instead of raw pointer in DnsQuery::CloneWithNewId (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/dns/dns_response_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/dns/dns_transaction.h" 5 #include "net/dns/dns_transaction.h"
6 6
7 #include <deque> 7 #include <deque>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 // Makes another attempt at the current name, |qnames_.front()|, using the 701 // Makes another attempt at the current name, |qnames_.front()|, using the
702 // next nameserver. 702 // next nameserver.
703 AttemptResult MakeAttempt() { 703 AttemptResult MakeAttempt() {
704 unsigned attempt_number = attempts_.size(); 704 unsigned attempt_number = attempts_.size();
705 705
706 uint16 id = session_->NextQueryId(); 706 uint16 id = session_->NextQueryId();
707 scoped_ptr<DnsQuery> query; 707 scoped_ptr<DnsQuery> query;
708 if (attempts_.empty()) { 708 if (attempts_.empty()) {
709 query.reset(new DnsQuery(id, qnames_.front(), qtype_)); 709 query.reset(new DnsQuery(id, qnames_.front(), qtype_));
710 } else { 710 } else {
711 query.reset(attempts_[0]->GetQuery()->CloneWithNewId(id)); 711 query = attempts_[0]->GetQuery()->CloneWithNewId(id);
712 } 712 }
713 713
714 const DnsConfig& config = session_->config(); 714 const DnsConfig& config = session_->config();
715 715
716 unsigned server_index = 716 unsigned server_index =
717 (first_server_index_ + attempt_number) % config.nameservers.size(); 717 (first_server_index_ + attempt_number) % config.nameservers.size();
718 // Skip over known failed servers. 718 // Skip over known failed servers.
719 server_index = session_->NextGoodServerIndex(server_index); 719 server_index = session_->NextGoodServerIndex(server_index);
720 720
721 scoped_ptr<DnsSession::SocketLease> lease = 721 scoped_ptr<DnsSession::SocketLease> lease =
(...skipping 30 matching lines...) Expand all
752 DCHECK(previous_attempt); 752 DCHECK(previous_attempt);
753 DCHECK(!had_tcp_attempt_); 753 DCHECK(!had_tcp_attempt_);
754 754
755 unsigned server_index = previous_attempt->server_index(); 755 unsigned server_index = previous_attempt->server_index();
756 756
757 scoped_ptr<StreamSocket> socket( 757 scoped_ptr<StreamSocket> socket(
758 session_->CreateTCPSocket(server_index, net_log_.source())); 758 session_->CreateTCPSocket(server_index, net_log_.source()));
759 759
760 // TODO(szym): Reuse the same id to help the server? 760 // TODO(szym): Reuse the same id to help the server?
761 uint16 id = session_->NextQueryId(); 761 uint16 id = session_->NextQueryId();
762 scoped_ptr<DnsQuery> query( 762 scoped_ptr<DnsQuery> query =
763 previous_attempt->GetQuery()->CloneWithNewId(id)); 763 previous_attempt->GetQuery()->CloneWithNewId(id);
764 764
765 RecordLostPacketsIfAny(); 765 RecordLostPacketsIfAny();
766 // Cancel all other attempts, no point waiting on them. 766 // Cancel all other attempts, no point waiting on them.
767 attempts_.clear(); 767 attempts_.clear();
768 768
769 unsigned attempt_number = attempts_.size(); 769 unsigned attempt_number = attempts_.size();
770 770
771 DnsTCPAttempt* attempt = new DnsTCPAttempt(server_index, socket.Pass(), 771 DnsTCPAttempt* attempt = new DnsTCPAttempt(server_index, socket.Pass(),
772 query.Pass()); 772 query.Pass());
773 773
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 } // namespace 992 } // namespace
993 993
994 // static 994 // static
995 scoped_ptr<DnsTransactionFactory> DnsTransactionFactory::CreateFactory( 995 scoped_ptr<DnsTransactionFactory> DnsTransactionFactory::CreateFactory(
996 DnsSession* session) { 996 DnsSession* session) {
997 return scoped_ptr<DnsTransactionFactory>( 997 return scoped_ptr<DnsTransactionFactory>(
998 new DnsTransactionFactoryImpl(session)); 998 new DnsTransactionFactoryImpl(session));
999 } 999 }
1000 1000
1001 } // namespace net 1001 } // namespace net
OLDNEW
« no previous file with comments | « net/dns/dns_response_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698