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

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

Issue 1190823003: Remove dependency on headers stream from QuicSession. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Final_0616
Patch Set: deleted an include Created 5 years, 6 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/quic/quic_spdy_session.h ('k') | net/quic/quic_stream_sequencer_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "net/quic/quic_spdy_session.h"
6
7 #include "net/quic/quic_headers_stream.h"
8
9 namespace net {
10
11 QuicSpdySession::QuicSpdySession(QuicConnection* connection,
12 const QuicConfig& config)
13 : QuicSession(connection, config) {
14 }
15
16 QuicSpdySession::~QuicSpdySession() {
17 }
18
19 void QuicSpdySession::Initialize() {
20 QuicSession::Initialize();
21
22 if (perspective() == Perspective::IS_SERVER) {
23 set_largest_peer_created_stream_id(kHeadersStreamId);
24 } else {
25 QuicStreamId headers_stream_id = GetNextStreamId();
26 DCHECK_EQ(headers_stream_id, kHeadersStreamId);
27 }
28
29 headers_stream_.reset(new QuicHeadersStream(this));
30 DCHECK_EQ(kHeadersStreamId, headers_stream_->id());
31 static_streams()[kHeadersStreamId] = headers_stream_.get();
32 }
33
34 void QuicSpdySession::OnStreamHeaders(QuicStreamId stream_id,
35 StringPiece headers_data) {
36 QuicDataStream* stream = GetSpdyDataStream(stream_id);
37 if (!stream) {
38 // It's quite possible to receive headers after a stream has been reset.
39 return;
40 }
41 stream->OnStreamHeaders(headers_data);
42 }
43
44 void QuicSpdySession::OnStreamHeadersPriority(QuicStreamId stream_id,
45 QuicPriority priority) {
46 QuicDataStream* stream = GetSpdyDataStream(stream_id);
47 if (!stream) {
48 // It's quite possible to receive headers after a stream has been reset.
49 return;
50 }
51 stream->OnStreamHeadersPriority(priority);
52 }
53
54 void QuicSpdySession::OnStreamHeadersComplete(QuicStreamId stream_id,
55 bool fin,
56 size_t frame_len) {
57 QuicDataStream* stream = GetSpdyDataStream(stream_id);
58 if (!stream) {
59 // It's quite possible to receive headers after a stream has been reset.
60 return;
61 }
62 stream->OnStreamHeadersComplete(fin, frame_len);
63 }
64
65 size_t QuicSpdySession::WriteHeaders(
66 QuicStreamId id,
67 const SpdyHeaderBlock& headers,
68 bool fin,
69 QuicPriority priority,
70 QuicAckNotifier::DelegateInterface* ack_notifier_delegate) {
71 return headers_stream_->WriteHeaders(id, headers, fin, priority,
72 ack_notifier_delegate);
73 }
74
75 QuicDataStream* QuicSpdySession::GetSpdyDataStream(
76 const QuicStreamId stream_id) {
77 return static_cast<QuicDataStream*>(GetDynamicStream(stream_id));
78 }
79
80 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_spdy_session.h ('k') | net/quic/quic_stream_sequencer_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698