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

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

Issue 368803003: QUIC_VERSION_21: headers and crypto streams are now flow controlled at (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_headers_stream.h" 5 #include "net/quic/quic_headers_stream.h"
6 6
7 #include "net/quic/quic_session.h" 7 #include "net/quic/quic_session.h"
8 8
9 using base::StringPiece; 9 using base::StringPiece;
10 10
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 167
168 QuicHeadersStream::QuicHeadersStream(QuicSession* session) 168 QuicHeadersStream::QuicHeadersStream(QuicSession* session)
169 : ReliableQuicStream(kHeadersStreamId, session), 169 : ReliableQuicStream(kHeadersStreamId, session),
170 stream_id_(kInvalidStreamId), 170 stream_id_(kInvalidStreamId),
171 fin_(false), 171 fin_(false),
172 frame_len_(0), 172 frame_len_(0),
173 spdy_framer_(SPDY3), 173 spdy_framer_(SPDY3),
174 spdy_framer_visitor_(new SpdyFramerVisitor(this)) { 174 spdy_framer_visitor_(new SpdyFramerVisitor(this)) {
175 spdy_framer_.set_visitor(spdy_framer_visitor_.get()); 175 spdy_framer_.set_visitor(spdy_framer_visitor_.get());
176 spdy_framer_.set_debug_visitor(spdy_framer_visitor_.get()); 176 spdy_framer_.set_debug_visitor(spdy_framer_visitor_.get());
177 DisableFlowControl(); 177 if (version() <= QUIC_VERSION_20) {
178 // Prior to QUIC_VERSION_21 the headers stream is not subject to any flow
179 // control.
180 DisableFlowControl();
181 }
182 // The headers stream is exempt from connection level flow control.
183 DisableConnectionFlowControlForThisStream();
178 } 184 }
179 185
180 QuicHeadersStream::~QuicHeadersStream() {} 186 QuicHeadersStream::~QuicHeadersStream() {}
181 187
182 size_t QuicHeadersStream::WriteHeaders( 188 size_t QuicHeadersStream::WriteHeaders(
183 QuicStreamId stream_id, 189 QuicStreamId stream_id,
184 const SpdyHeaderBlock& headers, 190 const SpdyHeaderBlock& headers,
185 bool fin, 191 bool fin,
186 QuicAckNotifier::DelegateInterface* ack_notifier_delegate) { 192 QuicAckNotifier::DelegateInterface* ack_notifier_delegate) {
187 scoped_ptr<SpdySerializedFrame> frame; 193 scoped_ptr<SpdySerializedFrame> frame;
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 DCHECK_EQ(kInvalidStreamId, stream_id_); 262 DCHECK_EQ(kInvalidStreamId, stream_id_);
257 DCHECK_EQ(0u, frame_len_); 263 DCHECK_EQ(0u, frame_len_);
258 frame_len_ = frame_len; 264 frame_len_ = frame_len;
259 } 265 }
260 266
261 bool QuicHeadersStream::IsConnected() { 267 bool QuicHeadersStream::IsConnected() {
262 return session()->connection()->connected(); 268 return session()->connection()->connected();
263 } 269 }
264 270
265 } // namespace net 271 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698