| 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 |