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

Side by Side Diff: net/quic/quic_stream_factory.cc

Issue 812543002: Update from https://crrev.com/308331 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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/proxy/proxy_resolver_v8.cc ('k') | net/server/web_socket.h » ('j') | 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/quic/quic_stream_factory.h" 5 #include "net/quic/quic_stream_factory.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/cpu.h" 9 #include "base/cpu.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 break; 285 break;
286 default: 286 default:
287 NOTREACHED() << "io_state_: " << io_state_; 287 NOTREACHED() << "io_state_: " << io_state_;
288 break; 288 break;
289 } 289 }
290 } while (io_state_ != STATE_NONE && rv != ERR_IO_PENDING); 290 } while (io_state_ != STATE_NONE && rv != ERR_IO_PENDING);
291 return rv; 291 return rv;
292 } 292 }
293 293
294 void QuicStreamFactory::Job::OnIOComplete(int rv) { 294 void QuicStreamFactory::Job::OnIOComplete(int rv) {
295 // TODO(vadimt): Remove ScopedTracker below once crbug.com/436634 is fixed. 295 // TODO(vadimt): Remove ScopedTracker below once crbug.com/422516 is fixed.
296 tracked_objects::ScopedTracker tracking_profile( 296 tracked_objects::ScopedTracker tracking_profile1(
297 FROM_HERE_WITH_EXPLICIT_FUNCTION( 297 FROM_HERE_WITH_EXPLICIT_FUNCTION(
298 "436634 QuicStreamFactory::Job::OnIOComplete")); 298 "422516 QuicStreamFactory::Job::OnIOComplete1"));
299 299
300 rv = DoLoop(rv); 300 rv = DoLoop(rv);
301 301
302 tracked_objects::ScopedTracker tracking_profile2(
303 FROM_HERE_WITH_EXPLICIT_FUNCTION(
304 "422516 QuicStreamFactory::Job::OnIOComplete2"));
305
302 if (rv != ERR_IO_PENDING && !callback_.is_null()) { 306 if (rv != ERR_IO_PENDING && !callback_.is_null()) {
303 callback_.Run(rv); 307 callback_.Run(rv);
304 } 308 }
305 } 309 }
306 310
307 void QuicStreamFactory::Job::CancelWaitForDataReadyCallback() { 311 void QuicStreamFactory::Job::CancelWaitForDataReadyCallback() {
308 // If we are waiting for WaitForDataReadyCallback, then cancel the callback. 312 // If we are waiting for WaitForDataReadyCallback, then cancel the callback.
309 if (io_state_ != STATE_LOAD_SERVER_INFO_COMPLETE) 313 if (io_state_ != STATE_LOAD_SERVER_INFO_COMPLETE)
310 return; 314 return;
311 server_info_->CancelWaitForDataReadyCallback(); 315 server_info_->CancelWaitForDataReadyCallback();
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 active_sessions_[server_id] = session; 644 active_sessions_[server_id] = session;
641 session_aliases_[session].insert(server_id); 645 session_aliases_[session].insert(server_id);
642 return true; 646 return true;
643 } 647 }
644 } 648 }
645 return false; 649 return false;
646 } 650 }
647 651
648 void QuicStreamFactory::OnJobComplete(Job* job, int rv) { 652 void QuicStreamFactory::OnJobComplete(Job* job, int rv) {
649 if (rv == OK) { 653 if (rv == OK) {
654 // TODO(vadimt): Remove ScopedTracker below once crbug.com/422516 is fixed.
655 tracked_objects::ScopedTracker tracking_profile1(
656 FROM_HERE_WITH_EXPLICIT_FUNCTION(
657 "422516 QuicStreamFactory::OnJobComplete1"));
658
650 if (!always_require_handshake_confirmation_) 659 if (!always_require_handshake_confirmation_)
651 set_require_confirmation(false); 660 set_require_confirmation(false);
652 661
653 // Create all the streams, but do not notify them yet. 662 // Create all the streams, but do not notify them yet.
654 for (RequestSet::iterator it = job_requests_map_[job].begin(); 663 for (RequestSet::iterator it = job_requests_map_[job].begin();
655 it != job_requests_map_[job].end() ; ++it) { 664 it != job_requests_map_[job].end() ; ++it) {
656 DCHECK(HasActiveSession(job->server_id())); 665 DCHECK(HasActiveSession(job->server_id()));
657 (*it)->set_stream(CreateIfSessionExists(job->server_id(), 666 (*it)->set_stream(CreateIfSessionExists(job->server_id(),
658 (*it)->net_log())); 667 (*it)->net_log()));
659 } 668 }
660 } 669 }
670
671 // TODO(vadimt): Remove ScopedTracker below once crbug.com/422516 is fixed.
672 tracked_objects::ScopedTracker tracking_profile2(
673 FROM_HERE_WITH_EXPLICIT_FUNCTION(
674 "422516 QuicStreamFactory::OnJobComplete2"));
675
661 while (!job_requests_map_[job].empty()) { 676 while (!job_requests_map_[job].empty()) {
662 RequestSet::iterator it = job_requests_map_[job].begin(); 677 RequestSet::iterator it = job_requests_map_[job].begin();
663 QuicStreamRequest* request = *it; 678 QuicStreamRequest* request = *it;
664 job_requests_map_[job].erase(it); 679 job_requests_map_[job].erase(it);
665 active_requests_.erase(request); 680 active_requests_.erase(request);
666 // Even though we're invoking callbacks here, we don't need to worry 681 // Even though we're invoking callbacks here, we don't need to worry
667 // about |this| being deleted, because the factory is owned by the 682 // about |this| being deleted, because the factory is owned by the
668 // profile which can not be deleted via callbacks. 683 // profile which can not be deleted via callbacks.
669 request->OnRequestComplete(rv); 684 request->OnRequestComplete(rv);
670 } 685 }
686
687 // TODO(vadimt): Remove ScopedTracker below once crbug.com/422516 is fixed.
688 tracked_objects::ScopedTracker tracking_profile3(
689 FROM_HERE_WITH_EXPLICIT_FUNCTION(
690 "422516 QuicStreamFactory::OnJobComplete3"));
691
671 active_jobs_.erase(job->server_id()); 692 active_jobs_.erase(job->server_id());
672 job_requests_map_.erase(job); 693 job_requests_map_.erase(job);
673 delete job; 694 delete job;
674 return; 695 return;
675 } 696 }
676 697
677 // Returns a newly created QuicHttpStream owned by the caller, if a 698 // Returns a newly created QuicHttpStream owned by the caller, if a
678 // matching session already exists. Returns nullptr otherwise. 699 // matching session already exists. Returns nullptr otherwise.
679 scoped_ptr<QuicHttpStream> QuicStreamFactory::CreateIfSessionExists( 700 scoped_ptr<QuicHttpStream> QuicStreamFactory::CreateIfSessionExists(
680 const QuicServerId& server_id, 701 const QuicServerId& server_id,
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
1079 http_server_properties_->ClearAlternateProtocol(server); 1100 http_server_properties_->ClearAlternateProtocol(server);
1080 http_server_properties_->SetAlternateProtocol( 1101 http_server_properties_->SetAlternateProtocol(
1081 server, alternate.port, alternate.protocol, 1); 1102 server, alternate.port, alternate.protocol, 1);
1082 DCHECK_EQ(QUIC, 1103 DCHECK_EQ(QUIC,
1083 http_server_properties_->GetAlternateProtocol(server).protocol); 1104 http_server_properties_->GetAlternateProtocol(server).protocol);
1084 DCHECK(http_server_properties_->WasAlternateProtocolRecentlyBroken( 1105 DCHECK(http_server_properties_->WasAlternateProtocolRecentlyBroken(
1085 server)); 1106 server));
1086 } 1107 }
1087 1108
1088 } // namespace net 1109 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/proxy_resolver_v8.cc ('k') | net/server/web_socket.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698