| 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 #include "net/quic/core/quic_flow_controller.h" | 5 #include "net/quic/core/quic_flow_controller.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/format_macros.h" | 9 #include "base/format_macros.h" |
| 10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| 11 #include "net/quic/core/quic_flags.h" | 11 #include "net/quic/core/quic_flags.h" |
| 12 #include "net/quic/core/quic_utils.h" | 12 #include "net/quic/core/quic_utils.h" |
| 13 #include "net/quic/platform/api/quic_str_cat.h" |
| 13 #include "net/quic/test_tools/quic_connection_peer.h" | 14 #include "net/quic/test_tools/quic_connection_peer.h" |
| 14 #include "net/quic/test_tools/quic_flow_controller_peer.h" | 15 #include "net/quic/test_tools/quic_flow_controller_peer.h" |
| 15 #include "net/quic/test_tools/quic_sent_packet_manager_peer.h" | 16 #include "net/quic/test_tools/quic_sent_packet_manager_peer.h" |
| 16 #include "net/quic/test_tools/quic_test_utils.h" | 17 #include "net/quic/test_tools/quic_test_utils.h" |
| 17 #include "net/test/gtest_util.h" | 18 #include "net/test/gtest_util.h" |
| 18 #include "testing/gmock/include/gmock/gmock.h" | 19 #include "testing/gmock/include/gmock/gmock.h" |
| 19 | 20 |
| 20 using testing::_; | 21 using testing::_; |
| 21 | 22 |
| 22 namespace net { | 23 namespace net { |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 | 78 |
| 78 // Updating with a smaller offset doesn't change anything. | 79 // Updating with a smaller offset doesn't change anything. |
| 79 EXPECT_FALSE(flow_controller_->UpdateSendWindowOffset(send_window_ / 10)); | 80 EXPECT_FALSE(flow_controller_->UpdateSendWindowOffset(send_window_ / 10)); |
| 80 EXPECT_EQ(send_window_, flow_controller_->SendWindowSize()); | 81 EXPECT_EQ(send_window_, flow_controller_->SendWindowSize()); |
| 81 | 82 |
| 82 // Try to send more bytes, violating flow control. | 83 // Try to send more bytes, violating flow control. |
| 83 EXPECT_CALL(connection_, | 84 EXPECT_CALL(connection_, |
| 84 CloseConnection(QUIC_FLOW_CONTROL_SENT_TOO_MUCH_DATA, _, _)); | 85 CloseConnection(QUIC_FLOW_CONTROL_SENT_TOO_MUCH_DATA, _, _)); |
| 85 EXPECT_QUIC_BUG( | 86 EXPECT_QUIC_BUG( |
| 86 flow_controller_->AddBytesSent(send_window_ * 10), | 87 flow_controller_->AddBytesSent(send_window_ * 10), |
| 87 base::StringPrintf("Trying to send an extra %" PRIu64 " bytes", | 88 QuicStrCat("Trying to send an extra ", send_window_ * 10, " bytes")); |
| 88 send_window_ * 10)); | |
| 89 EXPECT_TRUE(flow_controller_->IsBlocked()); | 89 EXPECT_TRUE(flow_controller_->IsBlocked()); |
| 90 EXPECT_EQ(0u, flow_controller_->SendWindowSize()); | 90 EXPECT_EQ(0u, flow_controller_->SendWindowSize()); |
| 91 } | 91 } |
| 92 | 92 |
| 93 TEST_F(QuicFlowControllerTest, ReceivingBytes) { | 93 TEST_F(QuicFlowControllerTest, ReceivingBytes) { |
| 94 Initialize(); | 94 Initialize(); |
| 95 | 95 |
| 96 EXPECT_FALSE(flow_controller_->IsBlocked()); | 96 EXPECT_FALSE(flow_controller_->IsBlocked()); |
| 97 EXPECT_FALSE(flow_controller_->FlowControlViolation()); | 97 EXPECT_FALSE(flow_controller_->FlowControlViolation()); |
| 98 EXPECT_EQ(kInitialSessionFlowControlWindowForTest, | 98 EXPECT_EQ(kInitialSessionFlowControlWindowForTest, |
| (...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 EXPECT_FALSE(flow_controller_->FlowControlViolation()); | 367 EXPECT_FALSE(flow_controller_->FlowControlViolation()); |
| 368 | 368 |
| 369 QuicByteCount new_threshold = | 369 QuicByteCount new_threshold = |
| 370 QuicFlowControllerPeer::WindowUpdateThreshold(flow_controller_.get()); | 370 QuicFlowControllerPeer::WindowUpdateThreshold(flow_controller_.get()); |
| 371 | 371 |
| 372 EXPECT_EQ(new_threshold, threshold); | 372 EXPECT_EQ(new_threshold, threshold); |
| 373 } | 373 } |
| 374 | 374 |
| 375 } // namespace test | 375 } // namespace test |
| 376 } // namespace net | 376 } // namespace net |
| OLD | NEW |