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

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

Issue 2916033003: Landing Recent QUIC changes until 03:18 AM, May 28, UTC (Closed)
Patch Set: A few more EXPORTs. Created 3 years, 6 months 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_sent_packet_manager.h » ('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 <cstdint> 7 #include <cstdint>
8 #include <ostream> 8 #include <ostream>
9 #include <string> 9 #include <string>
10 #include <tuple> 10 #include <tuple>
(...skipping 954 matching lines...) Expand 10 before | Expand all | Expand 10 after
965 .Times(AtLeast(kMinDataFrames)); 965 .Times(AtLeast(kMinDataFrames));
966 EXPECT_CALL(visitor_, OnStreamFrameData(id, _, _)) 966 EXPECT_CALL(visitor_, OnStreamFrameData(id, _, _))
967 .WillRepeatedly(WithArgs<1, 2>( 967 .WillRepeatedly(WithArgs<1, 2>(
968 Invoke(this, &QuicHeadersStreamTest::SavePayload))); 968 Invoke(this, &QuicHeadersStreamTest::SavePayload)));
969 if (fin) { 969 if (fin) {
970 EXPECT_CALL(visitor_, OnStreamEnd(id)); 970 EXPECT_CALL(visitor_, OnStreamEnd(id));
971 } 971 }
972 framer_->ProcessInput(saved_data_.data(), saved_data_.length()); 972 framer_->ProcessInput(saved_data_.data(), saved_data_.length());
973 EXPECT_EQ(saved_payloads_, data); 973 EXPECT_EQ(saved_payloads_, data);
974 974
975 if (use_ack_listener) { 975 if (use_ack_listener && !session_.use_stream_notifier()) {
976 // Notice, acked bytes doesn't include extra bytes used by 976 // Notice, acked bytes doesn't include extra bytes used by
977 // HTTP/2 DATA frame headers. 977 // HTTP/2 DATA frame headers.
978 EXPECT_EQ(ack_listener->total_acked_bytes(), data_len); 978 EXPECT_EQ(ack_listener->total_acked_bytes(), data_len);
979 } 979 }
980 saved_data_.clear(); 980 saved_data_.clear();
981 saved_payloads_.clear(); 981 saved_payloads_.clear();
982 } 982 }
983 } 983 }
984 } 984 }
985 985
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1034 EXPECT_EQ(consumed_data.fin_consumed, false); 1034 EXPECT_EQ(consumed_data.fin_consumed, false);
1035 1035
1036 // If session already blocked, then bytes_consumed should be zero. 1036 // If session already blocked, then bytes_consumed should be zero.
1037 consumed_data = session_.WritevStreamData(id, MakeIOVector(data, &iov), 1037 consumed_data = session_.WritevStreamData(id, MakeIOVector(data, &iov),
1038 offset, fin, nullptr); 1038 offset, fin, nullptr);
1039 1039
1040 EXPECT_EQ(consumed_data.bytes_consumed, 0u); 1040 EXPECT_EQ(consumed_data.bytes_consumed, 0u);
1041 EXPECT_EQ(consumed_data.fin_consumed, false); 1041 EXPECT_EQ(consumed_data.fin_consumed, false);
1042 } 1042 }
1043 1043
1044 TEST_P(QuicHeadersStreamTest, AckSentData) {
1045 if (!session_.use_stream_notifier()) {
1046 return;
1047 }
1048 EXPECT_CALL(session_,
1049 WritevData(headers_stream_, kHeadersStreamId, _, _, NO_FIN, _))
1050 .WillRepeatedly(
1051 WithArgs<2>(Invoke(this, &QuicHeadersStreamTest::SaveIov)));
1052 InSequence s;
1053 QuicReferenceCountedPointer<MockAckListener> ack_listener1(
1054 new MockAckListener());
1055 QuicReferenceCountedPointer<MockAckListener> ack_listener2(
1056 new MockAckListener());
1057 QuicReferenceCountedPointer<MockAckListener> ack_listener3(
1058 new MockAckListener());
1059
1060 // Packet 1.
1061 headers_stream_->WriteOrBufferData("Header5", false, ack_listener1);
1062 headers_stream_->WriteOrBufferData("Header5", false, ack_listener1);
1063 headers_stream_->WriteOrBufferData("Header7", false, ack_listener2);
1064
1065 // Packet 2.
1066 headers_stream_->WriteOrBufferData("Header9", false, ack_listener3);
1067 headers_stream_->WriteOrBufferData("Header7", false, ack_listener2);
1068
1069 // Packet 3.
1070 headers_stream_->WriteOrBufferData("Header9", false, ack_listener3);
1071
1072 QuicStreamFrame frame1(kHeadersStreamId, false, 0, "Header5");
1073 QuicStreamFrame frame2(kHeadersStreamId, false, 7, "Header5");
1074 // This is a bad frame3.
1075 QuicStreamFrame frame3(kHeadersStreamId, false, 14, "BadHeader7");
1076 QuicStreamFrame frame4(kHeadersStreamId, false, 21, "Header9");
1077 QuicStreamFrame frame5(kHeadersStreamId, false, 28, "Header7");
1078 QuicStreamFrame frame6(kHeadersStreamId, false, 35, "Header9");
1079 // Packet 2 gets retransmitted.
1080 EXPECT_CALL(*ack_listener3, OnPacketRetransmitted(7)).Times(1);
1081 EXPECT_CALL(*ack_listener2, OnPacketRetransmitted(7)).Times(1);
1082 headers_stream_->OnStreamFrameRetransmitted(frame4);
1083 headers_stream_->OnStreamFrameRetransmitted(frame5);
1084
1085 // Packets are acked in order: 2, 3, 1.
1086 EXPECT_CALL(*ack_listener3, OnPacketAcked(7, _));
1087 EXPECT_CALL(*ack_listener2, OnPacketAcked(7, _));
1088 headers_stream_->OnStreamFrameAcked(frame4, QuicTime::Delta::Zero());
1089 headers_stream_->OnStreamFrameAcked(frame5, QuicTime::Delta::Zero());
1090
1091 EXPECT_CALL(*ack_listener3, OnPacketAcked(7, _));
1092 headers_stream_->OnStreamFrameAcked(frame6, QuicTime::Delta::Zero());
1093
1094 EXPECT_CALL(*ack_listener1, OnPacketAcked(7, _));
1095 EXPECT_CALL(*ack_listener1, OnPacketAcked(7, _));
1096 headers_stream_->OnStreamFrameAcked(frame1, QuicTime::Delta::Zero());
1097 headers_stream_->OnStreamFrameAcked(frame2, QuicTime::Delta::Zero());
1098 // Unsent data is acked.
1099 EXPECT_CALL(*connection_, CloseConnection(QUIC_INTERNAL_ERROR, _, _));
1100 headers_stream_->OnStreamFrameAcked(frame3, QuicTime::Delta::Zero());
1101 }
1102
1044 } // namespace 1103 } // namespace
1045 } // namespace test 1104 } // namespace test
1046 } // namespace net 1105 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/quic_headers_stream.cc ('k') | net/quic/core/quic_sent_packet_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698