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

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

Issue 737153002: Preparation for Chrome experiment to enable bandwidth resumption. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@SentPacketManager_to_pass_in_HAS_RETRANSMITTABLE_DATA_80171666
Patch Set: Created 6 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_flags.cc ('k') | net/quic/quic_sent_packet_manager.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 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 #ifndef NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 5 #ifndef NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
6 #define NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 6 #define NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/containers/hash_tables.h" 13 #include "base/containers/hash_tables.h"
14 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
15 #include "net/base/linked_hash_map.h" 15 #include "net/base/linked_hash_map.h"
16 #include "net/quic/congestion_control/loss_detection_interface.h" 16 #include "net/quic/congestion_control/loss_detection_interface.h"
17 #include "net/quic/congestion_control/rtt_stats.h" 17 #include "net/quic/congestion_control/rtt_stats.h"
18 #include "net/quic/congestion_control/send_algorithm_interface.h" 18 #include "net/quic/congestion_control/send_algorithm_interface.h"
19 #include "net/quic/crypto/cached_network_parameters.h"
19 #include "net/quic/quic_ack_notifier_manager.h" 20 #include "net/quic/quic_ack_notifier_manager.h"
20 #include "net/quic/quic_protocol.h" 21 #include "net/quic/quic_protocol.h"
21 #include "net/quic/quic_sustained_bandwidth_recorder.h" 22 #include "net/quic/quic_sustained_bandwidth_recorder.h"
22 #include "net/quic/quic_unacked_packet_map.h" 23 #include "net/quic/quic_unacked_packet_map.h"
23 24
24 namespace net { 25 namespace net {
25 26
26 namespace test { 27 namespace test {
27 class QuicConnectionPeer; 28 class QuicConnectionPeer;
28 class QuicSentPacketManagerPeer; 29 class QuicSentPacketManagerPeer;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 QuicSentPacketManager(bool is_server, 93 QuicSentPacketManager(bool is_server,
93 const QuicClock* clock, 94 const QuicClock* clock,
94 QuicConnectionStats* stats, 95 QuicConnectionStats* stats,
95 CongestionControlType congestion_control_type, 96 CongestionControlType congestion_control_type,
96 LossDetectionType loss_type, 97 LossDetectionType loss_type,
97 bool is_secure); 98 bool is_secure);
98 virtual ~QuicSentPacketManager(); 99 virtual ~QuicSentPacketManager();
99 100
100 virtual void SetFromConfig(const QuicConfig& config); 101 virtual void SetFromConfig(const QuicConfig& config);
101 102
103 // Pass the CachedNetworkParameters to the send algorithm.
104 void ResumeConnectionState(
105 const CachedNetworkParameters& cached_network_params);
106
102 void SetNumOpenStreams(size_t num_streams); 107 void SetNumOpenStreams(size_t num_streams);
103 108
104 void SetHandshakeConfirmed() { handshake_confirmed_ = true; } 109 void SetHandshakeConfirmed() { handshake_confirmed_ = true; }
105 110
106 // Processes the incoming ack. 111 // Processes the incoming ack.
107 void OnIncomingAck(const QuicAckFrame& ack_frame, 112 void OnIncomingAck(const QuicAckFrame& ack_frame,
108 QuicTime ack_receive_time); 113 QuicTime ack_receive_time);
109 114
110 // Returns true if the non-FEC packet |sequence_number| is unacked. 115 // Returns true if the non-FEC packet |sequence_number| is unacked.
111 bool IsUnacked(QuicPacketSequenceNumber sequence_number) const; 116 bool IsUnacked(QuicPacketSequenceNumber sequence_number) const;
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 // Records bandwidth from server to client in normal operation, over periods 404 // Records bandwidth from server to client in normal operation, over periods
400 // of time with no loss events. 405 // of time with no loss events.
401 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_; 406 QuicSustainedBandwidthRecorder sustained_bandwidth_recorder_;
402 407
403 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager); 408 DISALLOW_COPY_AND_ASSIGN(QuicSentPacketManager);
404 }; 409 };
405 410
406 } // namespace net 411 } // namespace net
407 412
408 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_ 413 #endif // NET_QUIC_QUIC_SENT_PACKET_MANAGER_H_
OLDNEW
« no previous file with comments | « net/quic/quic_flags.cc ('k') | net/quic/quic_sent_packet_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698