| OLD | NEW |
| 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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_spdy_session.h" | 5 #include "net/quic/core/quic_spdy_session.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cstdint> | 8 #include <cstdint> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 ConnectionCloseBehavior::SILENT_CLOSE); | 564 ConnectionCloseBehavior::SILENT_CLOSE); |
| 565 } | 565 } |
| 566 | 566 |
| 567 void QuicSpdySession::OnConfigNegotiated() { | 567 void QuicSpdySession::OnConfigNegotiated() { |
| 568 QuicSession::OnConfigNegotiated(); | 568 QuicSession::OnConfigNegotiated(); |
| 569 if (config()->HasClientSentConnectionOption(kDHDT, perspective())) { | 569 if (config()->HasClientSentConnectionOption(kDHDT, perspective())) { |
| 570 DisableHpackDynamicTable(); | 570 DisableHpackDynamicTable(); |
| 571 } | 571 } |
| 572 const QuicVersion version = connection()->version(); | 572 const QuicVersion version = connection()->version(); |
| 573 if (FLAGS_quic_reloadable_flag_quic_enable_force_hol_blocking && | 573 if (FLAGS_quic_reloadable_flag_quic_enable_force_hol_blocking && |
| 574 version > QUIC_VERSION_35 && config()->ForceHolBlocking(perspective())) { | 574 version == QUIC_VERSION_36 && config()->ForceHolBlocking(perspective())) { |
| 575 force_hol_blocking_ = true; | 575 force_hol_blocking_ = true; |
| 576 // Since all streams are tunneled through the headers stream, it | 576 // Since all streams are tunneled through the headers stream, it |
| 577 // is important that headers stream never flow control blocks. | 577 // is important that headers stream never flow control blocks. |
| 578 // Otherwise, busy-loop behaviour can ensue where data streams | 578 // Otherwise, busy-loop behaviour can ensue where data streams |
| 579 // data try repeatedly to write data not realizing that the | 579 // data try repeatedly to write data not realizing that the |
| 580 // tunnel through the headers stream is blocked. | 580 // tunnel through the headers stream is blocked. |
| 581 headers_stream_->flow_controller()->UpdateReceiveWindowSize( | 581 headers_stream_->flow_controller()->UpdateReceiveWindowSize( |
| 582 kStreamReceiveWindowLimit); | 582 kStreamReceiveWindowLimit); |
| 583 headers_stream_->flow_controller()->UpdateSendWindowOffset( | 583 headers_stream_->flow_controller()->UpdateSendWindowOffset( |
| 584 kStreamReceiveWindowLimit); | 584 kStreamReceiveWindowLimit); |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 743 set_max_uncompressed_header_bytes); | 743 set_max_uncompressed_header_bytes); |
| 744 } | 744 } |
| 745 | 745 |
| 746 void QuicSpdySession::CloseConnectionWithDetails(QuicErrorCode error, | 746 void QuicSpdySession::CloseConnectionWithDetails(QuicErrorCode error, |
| 747 const string& details) { | 747 const string& details) { |
| 748 connection()->CloseConnection( | 748 connection()->CloseConnection( |
| 749 error, details, ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET); | 749 error, details, ConnectionCloseBehavior::SEND_CONNECTION_CLOSE_PACKET); |
| 750 } | 750 } |
| 751 | 751 |
| 752 } // namespace net | 752 } // namespace net |
| OLD | NEW |