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

Side by Side Diff: net/quic/core/quic_headers_stream_test.cc

Issue 2512623002: Add connection option kSMHL indicating supporting SETTINGS_MAX_HEADER_LIST_SIZE. SETTINGS_MAX_HEADE… (Closed)
Patch Set: Created 4 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/core/quic_headers_stream.cc ('k') | net/quic/core/quic_session_test.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 #include "net/quic/core/quic_headers_stream.h" 5 #include "net/quic/core/quic_headers_stream.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "net/quic/core/quic_bug_tracker.h" 10 #include "net/quic/core/quic_bug_tracker.h"
(...skipping 726 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 "SPDY SETTINGS frame received.", _)) 737 "SPDY SETTINGS frame received.", _))
738 .WillOnce(InvokeWithoutArgs( 738 .WillOnce(InvokeWithoutArgs(
739 this, &QuicHeadersStreamTest::TearDownLocalConnectionState)); 739 this, &QuicHeadersStreamTest::TearDownLocalConnectionState));
740 stream_frame_.data_buffer = frame.data(); 740 stream_frame_.data_buffer = frame.data();
741 stream_frame_.data_length = frame.size(); 741 stream_frame_.data_length = frame.size();
742 headers_stream_->OnStreamFrame(stream_frame_); 742 headers_stream_->OnStreamFrame(stream_frame_);
743 } 743 }
744 744
745 TEST_P(QuicHeadersStreamTest, RespectHttp2SettingsFrameSupportedFields) { 745 TEST_P(QuicHeadersStreamTest, RespectHttp2SettingsFrameSupportedFields) {
746 FLAGS_quic_respect_http2_settings_frame = true; 746 FLAGS_quic_respect_http2_settings_frame = true;
747 FLAGS_quic_send_max_header_list_size = true;
747 const uint32_t kTestHeaderTableSize = 1000; 748 const uint32_t kTestHeaderTableSize = 1000;
748 SpdySettingsIR data; 749 SpdySettingsIR data;
749 // Respect supported settings frames SETTINGS_HEADER_TABLE_SIZE. 750 // Respect supported settings frames SETTINGS_HEADER_TABLE_SIZE,
751 // SETTINGS_MAX_HEADER_LIST_SIZE.
750 data.AddSetting(SETTINGS_HEADER_TABLE_SIZE, true, true, kTestHeaderTableSize); 752 data.AddSetting(SETTINGS_HEADER_TABLE_SIZE, true, true, kTestHeaderTableSize);
753 data.AddSetting(SETTINGS_MAX_HEADER_LIST_SIZE, true, true, 2000);
751 SpdySerializedFrame frame(framer_->SerializeFrame(data)); 754 SpdySerializedFrame frame(framer_->SerializeFrame(data));
752 stream_frame_.data_buffer = frame.data(); 755 stream_frame_.data_buffer = frame.data();
753 stream_frame_.data_length = frame.size(); 756 stream_frame_.data_length = frame.size();
754 headers_stream_->OnStreamFrame(stream_frame_); 757 headers_stream_->OnStreamFrame(stream_frame_);
755 EXPECT_EQ(kTestHeaderTableSize, 758 EXPECT_EQ(kTestHeaderTableSize,
756 QuicHeadersStreamPeer::GetSpdyFramer(headers_stream_) 759 QuicHeadersStreamPeer::GetSpdyFramer(headers_stream_)
757 .header_encoder_table_size()); 760 .header_encoder_table_size());
758 } 761 }
759 762
760 TEST_P(QuicHeadersStreamTest, RespectHttp2SettingsFrameUnsupportedFields) { 763 TEST_P(QuicHeadersStreamTest, RespectHttp2SettingsFrameUnsupportedFields) {
761 FLAGS_quic_respect_http2_settings_frame = true; 764 FLAGS_quic_respect_http2_settings_frame = true;
765 FLAGS_quic_send_max_header_list_size = true;
762 SpdySettingsIR data; 766 SpdySettingsIR data;
763 // Does not support SETTINGS_MAX_HEADER_LIST_SIZE, 767 // Does not support SETTINGS_MAX_CONCURRENT_STREAMS,
764 // SETTINGS_MAX_CONCURRENT_STREAMS, SETTINGS_INITIAL_WINDOW_SIZE, 768 // SETTINGS_INITIAL_WINDOW_SIZE, SETTINGS_ENABLE_PUSH and
765 // SETTINGS_ENABLE_PUSH and SETTINGS_MAX_FRAME_SIZE. 769 // SETTINGS_MAX_FRAME_SIZE.
766 data.AddSetting(SETTINGS_MAX_HEADER_LIST_SIZE, true, true, 2000);
767 data.AddSetting(SETTINGS_MAX_CONCURRENT_STREAMS, true, true, 100); 770 data.AddSetting(SETTINGS_MAX_CONCURRENT_STREAMS, true, true, 100);
768 data.AddSetting(SETTINGS_INITIAL_WINDOW_SIZE, true, true, 100); 771 data.AddSetting(SETTINGS_INITIAL_WINDOW_SIZE, true, true, 100);
769 data.AddSetting(SETTINGS_ENABLE_PUSH, true, true, 1); 772 data.AddSetting(SETTINGS_ENABLE_PUSH, true, true, 1);
770 data.AddSetting(SETTINGS_MAX_FRAME_SIZE, true, true, 1250); 773 data.AddSetting(SETTINGS_MAX_FRAME_SIZE, true, true, 1250);
771 SpdySerializedFrame frame(framer_->SerializeFrame(data)); 774 SpdySerializedFrame frame(framer_->SerializeFrame(data));
772 EXPECT_CALL( 775 EXPECT_CALL(
773 *connection_, 776 *connection_,
774 CloseConnection(QUIC_INVALID_HEADERS_STREAM_DATA, 777 CloseConnection(QUIC_INVALID_HEADERS_STREAM_DATA,
775 "Unsupported field of HTTP/2 SETTINGS frame: " + 778 "Unsupported field of HTTP/2 SETTINGS frame: " +
776 base::IntToString(SETTINGS_MAX_HEADER_LIST_SIZE),
777 _));
778 EXPECT_CALL(
779 *connection_,
780 CloseConnection(QUIC_INVALID_HEADERS_STREAM_DATA,
781 "Unsupported field of HTTP/2 SETTINGS frame: " +
782 base::IntToString(SETTINGS_MAX_CONCURRENT_STREAMS), 779 base::IntToString(SETTINGS_MAX_CONCURRENT_STREAMS),
783 _)); 780 _));
784 EXPECT_CALL( 781 EXPECT_CALL(
785 *connection_, 782 *connection_,
786 CloseConnection(QUIC_INVALID_HEADERS_STREAM_DATA, 783 CloseConnection(QUIC_INVALID_HEADERS_STREAM_DATA,
787 "Unsupported field of HTTP/2 SETTINGS frame: " + 784 "Unsupported field of HTTP/2 SETTINGS frame: " +
788 base::IntToString(SETTINGS_INITIAL_WINDOW_SIZE), 785 base::IntToString(SETTINGS_INITIAL_WINDOW_SIZE),
789 _)); 786 _));
790 if (!FLAGS_quic_enable_server_push_by_default || 787 if (!FLAGS_quic_enable_server_push_by_default ||
791 session_.perspective() == Perspective::IS_CLIENT) { 788 session_.perspective() == Perspective::IS_CLIENT) {
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
989 } 986 }
990 saved_data_.clear(); 987 saved_data_.clear();
991 saved_payloads_.clear(); 988 saved_payloads_.clear();
992 } 989 }
993 } 990 }
994 } 991 }
995 992
996 } // namespace 993 } // namespace
997 } // namespace test 994 } // namespace test
998 } // namespace net 995 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_headers_stream.cc ('k') | net/quic/core/quic_session_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698