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

Side by Side Diff: net/spdy/spdy_session.cc

Issue 1561203003: Remove SPDY/2 code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
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/spdy/spdy_session.h" 5 #include "net/spdy/spdy_session.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <map> 9 #include <map>
10 #include <utility> 10 #include <utility>
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 void SplitPushedHeadersToRequestAndResponse(const SpdyHeaderBlock& headers, 458 void SplitPushedHeadersToRequestAndResponse(const SpdyHeaderBlock& headers,
459 SpdyMajorVersion protocol_version, 459 SpdyMajorVersion protocol_version,
460 SpdyHeaderBlock* request_headers, 460 SpdyHeaderBlock* request_headers,
461 SpdyHeaderBlock* response_headers) { 461 SpdyHeaderBlock* response_headers) {
462 DCHECK(response_headers); 462 DCHECK(response_headers);
463 DCHECK(request_headers); 463 DCHECK(request_headers);
464 for (SpdyHeaderBlock::const_iterator it = headers.begin(); 464 for (SpdyHeaderBlock::const_iterator it = headers.begin();
465 it != headers.end(); 465 it != headers.end();
466 ++it) { 466 ++it) {
467 SpdyHeaderBlock* to_insert = response_headers; 467 SpdyHeaderBlock* to_insert = response_headers;
468 if (protocol_version == SPDY2) { 468 const char* host = protocol_version >= HTTP2 ? ":authority" : ":host";
469 if (it->first == "url") 469 static const char scheme[] = ":scheme";
470 to_insert = request_headers; 470 static const char path[] = ":path";
471 } else { 471 if (it->first == host || it->first == scheme || it->first == path) {
472 const char* host = protocol_version >= HTTP2 ? ":authority" : ":host"; 472 to_insert = request_headers;
473 static const char scheme[] = ":scheme";
474 static const char path[] = ":path";
475 if (it->first == host || it->first == scheme || it->first == path)
476 to_insert = request_headers;
477 } 473 }
478 to_insert->insert(*it); 474 to_insert->insert(*it);
479 } 475 }
480 } 476 }
481 477
482 SpdyStreamRequest::SpdyStreamRequest() : weak_ptr_factory_(this) { 478 SpdyStreamRequest::SpdyStreamRequest() : weak_ptr_factory_(this) {
483 Reset(); 479 Reset();
484 } 480 }
485 481
486 SpdyStreamRequest::~SpdyStreamRequest() { 482 SpdyStreamRequest::~SpdyStreamRequest() {
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
760 DCHECK_GE(protocol_, kProtoSPDYMinimumVersion); 756 DCHECK_GE(protocol_, kProtoSPDYMinimumVersion);
761 DCHECK_LE(protocol_, kProtoSPDYMaximumVersion); 757 DCHECK_LE(protocol_, kProtoSPDYMaximumVersion);
762 758
763 if (protocol_ == kProtoHTTP2) 759 if (protocol_ == kProtoHTTP2)
764 send_connection_header_prefix_ = true; 760 send_connection_header_prefix_ = true;
765 761
766 if (protocol_ >= kProtoSPDY31) { 762 if (protocol_ >= kProtoSPDY31) {
767 flow_control_state_ = FLOW_CONTROL_STREAM_AND_SESSION; 763 flow_control_state_ = FLOW_CONTROL_STREAM_AND_SESSION;
768 session_send_window_size_ = GetDefaultInitialWindowSize(protocol_); 764 session_send_window_size_ = GetDefaultInitialWindowSize(protocol_);
769 session_recv_window_size_ = GetDefaultInitialWindowSize(protocol_); 765 session_recv_window_size_ = GetDefaultInitialWindowSize(protocol_);
770 } else if (protocol_ >= kProtoSPDY3) { 766 } else {
771 flow_control_state_ = FLOW_CONTROL_STREAM; 767 flow_control_state_ = FLOW_CONTROL_STREAM;
772 } else {
773 flow_control_state_ = FLOW_CONTROL_NONE;
774 } 768 }
775 769
776 buffered_spdy_framer_.reset( 770 buffered_spdy_framer_.reset(
777 new BufferedSpdyFramer(NextProtoToSpdyMajorVersion(protocol_), 771 new BufferedSpdyFramer(NextProtoToSpdyMajorVersion(protocol_),
778 enable_compression_)); 772 enable_compression_));
779 buffered_spdy_framer_->set_visitor(this); 773 buffered_spdy_framer_->set_visitor(this);
780 buffered_spdy_framer_->set_debug_visitor(this); 774 buffered_spdy_framer_->set_debug_visitor(this);
781 UMA_HISTOGRAM_ENUMERATION( 775 UMA_HISTOGRAM_ENUMERATION(
782 "Net.SpdyVersion2", 776 "Net.SpdyVersion2",
783 protocol_ - kProtoSPDYHistogramOffset, 777 protocol_ - kProtoSPDYHistogramOffset,
(...skipping 1849 matching lines...) Expand 10 before | Expand all | Expand 10 after
2633 } 2627 }
2634 } 2628 }
2635 2629
2636 bool SpdySession::TryCreatePushStream(SpdyStreamId stream_id, 2630 bool SpdySession::TryCreatePushStream(SpdyStreamId stream_id,
2637 SpdyStreamId associated_stream_id, 2631 SpdyStreamId associated_stream_id,
2638 SpdyPriority priority, 2632 SpdyPriority priority,
2639 const SpdyHeaderBlock& headers) { 2633 const SpdyHeaderBlock& headers) {
2640 // Server-initiated streams should have even sequence numbers. 2634 // Server-initiated streams should have even sequence numbers.
2641 if ((stream_id & 0x1) != 0) { 2635 if ((stream_id & 0x1) != 0) {
2642 LOG(WARNING) << "Received invalid push stream id " << stream_id; 2636 LOG(WARNING) << "Received invalid push stream id " << stream_id;
2643 if (GetProtocolVersion() > SPDY2) 2637 CloseSessionOnError(ERR_SPDY_PROTOCOL_ERROR, "Odd push stream id.");
2644 CloseSessionOnError(ERR_SPDY_PROTOCOL_ERROR, "Odd push stream id.");
2645 return false; 2638 return false;
2646 } 2639 }
2647 2640
2648 if (GetProtocolVersion() > SPDY2) { 2641 if (stream_id <= last_accepted_push_stream_id_) {
2649 if (stream_id <= last_accepted_push_stream_id_) { 2642 LOG(WARNING) << "Received push stream id lesser or equal to the last "
2650 LOG(WARNING) << "Received push stream id lesser or equal to the last " 2643 << "accepted before " << stream_id;
2651 << "accepted before " << stream_id; 2644 CloseSessionOnError(
2652 CloseSessionOnError( 2645 ERR_SPDY_PROTOCOL_ERROR,
2653 ERR_SPDY_PROTOCOL_ERROR, 2646 "New push stream id must be greater than the last accepted.");
2654 "New push stream id must be greater than the last accepted."); 2647 return false;
2655 return false;
2656 }
2657 } 2648 }
2658 2649
2659 if (IsStreamActive(stream_id)) { 2650 if (IsStreamActive(stream_id)) {
2660 // For SPDY3 and higher we should not get here, we'll start going away 2651 // For SPDY3 and higher we should not get here, we'll start going away
2661 // earlier on |last_seen_push_stream_id_| check. 2652 // earlier on |last_seen_push_stream_id_| check.
2662 CHECK_GT(SPDY3, GetProtocolVersion()); 2653 CHECK_GT(SPDY3, GetProtocolVersion());
2663 LOG(WARNING) << "Received push for active stream " << stream_id; 2654 LOG(WARNING) << "Received push for active stream " << stream_id;
2664 return false; 2655 return false;
2665 } 2656 }
2666 2657
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
3330 if (!queue->empty()) { 3321 if (!queue->empty()) {
3331 SpdyStreamId stream_id = queue->front(); 3322 SpdyStreamId stream_id = queue->front();
3332 queue->pop_front(); 3323 queue->pop_front();
3333 return stream_id; 3324 return stream_id;
3334 } 3325 }
3335 } 3326 }
3336 return 0; 3327 return 0;
3337 } 3328 }
3338 3329
3339 } // namespace net 3330 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698