OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_CORE_QUIC_FLOW_CONTROLLER_H_ | 5 #ifndef NET_QUIC_CORE_QUIC_FLOW_CONTROLLER_H_ |
6 #define NET_QUIC_CORE_QUIC_FLOW_CONTROLLER_H_ | 6 #define NET_QUIC_CORE_QUIC_FLOW_CONTROLLER_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "net/quic/core/quic_packets.h" | 9 #include "net/quic/core/quic_packets.h" |
10 #include "net/quic/platform/api/quic_export.h" | 10 #include "net/quic/platform/api/quic_export.h" |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 | 169 |
170 // Largest size the receive window can grow to. | 170 // Largest size the receive window can grow to. |
171 QuicByteCount receive_window_size_; | 171 QuicByteCount receive_window_size_; |
172 | 172 |
173 // Upper limit on receive_window_size_; | 173 // Upper limit on receive_window_size_; |
174 QuicByteCount receive_window_size_limit_; | 174 QuicByteCount receive_window_size_limit_; |
175 | 175 |
176 // Used to dynamically enable receive window auto-tuning. | 176 // Used to dynamically enable receive window auto-tuning. |
177 bool auto_tune_receive_window_; | 177 bool auto_tune_receive_window_; |
178 | 178 |
179 // The session's flow controller. null if this is stream id 0 or | 179 // The session's flow controller. null if this is stream id 0. |
180 // FLAGS_quic_reloadable_flag_quic_flow_control_invariant is false. | |
181 // Not owned. | 180 // Not owned. |
182 QuicFlowControllerInterface* session_flow_controller_; | 181 QuicFlowControllerInterface* session_flow_controller_; |
183 | 182 |
184 // Send window update when receive window size drops below this. | 183 // Send window update when receive window size drops below this. |
185 QuicByteCount WindowUpdateThreshold(); | 184 QuicByteCount WindowUpdateThreshold(); |
186 | 185 |
187 // Keep track of the last time we sent a BLOCKED frame. We should only send | 186 // Keep track of the last time we sent a BLOCKED frame. We should only send |
188 // another when the number of bytes we have sent has changed. | 187 // another when the number of bytes we have sent has changed. |
189 QuicStreamOffset last_blocked_send_window_offset_; | 188 QuicStreamOffset last_blocked_send_window_offset_; |
190 | 189 |
191 // Keep time of the last time a window update was sent. We use this | 190 // Keep time of the last time a window update was sent. We use this |
192 // as part of the receive window auto tuning. | 191 // as part of the receive window auto tuning. |
193 QuicTime prev_window_update_time_; | 192 QuicTime prev_window_update_time_; |
194 | 193 |
195 DISALLOW_COPY_AND_ASSIGN(QuicFlowController); | 194 DISALLOW_COPY_AND_ASSIGN(QuicFlowController); |
196 }; | 195 }; |
197 | 196 |
198 } // namespace net | 197 } // namespace net |
199 | 198 |
200 #endif // NET_QUIC_CORE_QUIC_FLOW_CONTROLLER_H_ | 199 #endif // NET_QUIC_CORE_QUIC_FLOW_CONTROLLER_H_ |
OLD | NEW |