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

Side by Side Diff: net/quic/quic_session.h

Issue 1421853006: Landing Recent QUIC changes until: Fri Oct 30 22:23:58 2015 +0000 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix comments Created 5 years, 1 month 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_sent_packet_manager_test.cc ('k') | net/quic/quic_session.cc » ('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 // A QuicSession, which demuxes a single connection to individual streams. 5 // A QuicSession, which demuxes a single connection to individual streams.
6 6
7 #ifndef NET_QUIC_QUIC_SESSION_H_ 7 #ifndef NET_QUIC_QUIC_SESSION_H_
8 #define NET_QUIC_QUIC_SESSION_H_ 8 #define NET_QUIC_QUIC_SESSION_H_
9 9
10 #include <map> 10 #include <map>
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 // the server and thus the encryption key has been updated. Therefore the 46 // the server and thus the encryption key has been updated. Therefore the
47 // connection should resend any packets that were sent under 47 // connection should resend any packets that were sent under
48 // ENCRYPTION_INITIAL. (Client only.) 48 // ENCRYPTION_INITIAL. (Client only.)
49 ENCRYPTION_REESTABLISHED, 49 ENCRYPTION_REESTABLISHED,
50 // HANDSHAKE_CONFIRMED, in a client, indicates the the server has accepted 50 // HANDSHAKE_CONFIRMED, in a client, indicates the the server has accepted
51 // our handshake. In a server it indicates that a full, valid client hello 51 // our handshake. In a server it indicates that a full, valid client hello
52 // has been received. (Client and server.) 52 // has been received. (Client and server.)
53 HANDSHAKE_CONFIRMED, 53 HANDSHAKE_CONFIRMED,
54 }; 54 };
55 55
56 // Takes ownership of |connection|.
56 QuicSession(QuicConnection* connection, const QuicConfig& config); 57 QuicSession(QuicConnection* connection, const QuicConfig& config);
57 58
58 ~QuicSession() override; 59 ~QuicSession() override;
59 60
60 virtual void Initialize(); 61 virtual void Initialize();
61 62
62 // QuicConnectionVisitorInterface methods: 63 // QuicConnectionVisitorInterface methods:
63 void OnStreamFrame(const QuicStreamFrame& frame) override; 64 void OnStreamFrame(const QuicStreamFrame& frame) override;
64 void OnRstStream(const QuicRstStreamFrame& frame) override; 65 void OnRstStream(const QuicRstStreamFrame& frame) override;
65 void OnGoAway(const QuicGoAwayFrame& frame) override; 66 void OnGoAway(const QuicGoAwayFrame& frame) override;
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 // Return the reserved crypto stream. 219 // Return the reserved crypto stream.
219 virtual QuicCryptoStream* GetCryptoStream() = 0; 220 virtual QuicCryptoStream* GetCryptoStream() = 0;
220 221
221 // Adds 'stream' to the active stream map. 222 // Adds 'stream' to the active stream map.
222 virtual void ActivateStream(ReliableQuicStream* stream); 223 virtual void ActivateStream(ReliableQuicStream* stream);
223 224
224 // Returns the stream ID for a new outgoing stream, and increments the 225 // Returns the stream ID for a new outgoing stream, and increments the
225 // underlying counter. 226 // underlying counter.
226 QuicStreamId GetNextOutgoingStreamId(); 227 QuicStreamId GetNextOutgoingStreamId();
227 228
228 ReliableQuicStream* GetIncomingDynamicStream(QuicStreamId stream_id); 229 // Returns existing stream with id = |stream_id|. If no such stream exists,
229 230 // and |stream_id| is a peer-created id, then a new stream is created and
230 ReliableQuicStream* GetDynamicStream(const QuicStreamId stream_id); 231 // returned. However if |stream_id| is a locally-created id and no such stream
232 // exists, the connection is closed.
233 ReliableQuicStream* GetOrCreateDynamicStream(QuicStreamId stream_id);
231 234
232 // This is called after every call other than OnConnectionClose from the 235 // This is called after every call other than OnConnectionClose from the
233 // QuicConnectionVisitor to allow post-processing once the work has been done. 236 // QuicConnectionVisitor to allow post-processing once the work has been done.
234 // In this case, it deletes streams given that it's safe to do so (no other 237 // In this case, it deletes streams given that it's safe to do so (no other
235 // operations are being done on the streams at this time) 238 // operations are being done on the streams at this time)
236 virtual void PostProcessAfterData(); 239 virtual void PostProcessAfterData();
237 240
238 StreamMap& static_streams() { return static_stream_map_; } 241 StreamMap& static_streams() { return static_stream_map_; }
239 const StreamMap& static_streams() const { return static_stream_map_; } 242 const StreamMap& static_streams() const { return static_stream_map_; }
240 243
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 337
335 // Indicate if there is pending data for the crypto stream. 338 // Indicate if there is pending data for the crypto stream.
336 bool has_pending_handshake_; 339 bool has_pending_handshake_;
337 340
338 DISALLOW_COPY_AND_ASSIGN(QuicSession); 341 DISALLOW_COPY_AND_ASSIGN(QuicSession);
339 }; 342 };
340 343
341 } // namespace net 344 } // namespace net
342 345
343 #endif // NET_QUIC_QUIC_SESSION_H_ 346 #endif // NET_QUIC_QUIC_SESSION_H_
OLDNEW
« no previous file with comments | « net/quic/quic_sent_packet_manager_test.cc ('k') | net/quic/quic_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698