Index: net/quic/reliable_quic_stream_test.cc |
diff --git a/net/quic/reliable_quic_stream_test.cc b/net/quic/reliable_quic_stream_test.cc |
index b0068954e57ad05ffc89319ee7b52d57752337a0..3f4f76ecbb833df6909f6e941e9a1d89dbe4f696 100644 |
--- a/net/quic/reliable_quic_stream_test.cc |
+++ b/net/quic/reliable_quic_stream_test.cc |
@@ -141,7 +141,6 @@ class ReliableQuicStreamTest : public ::testing::TestWithParam<bool> { |
QuicIOVector /*iov*/, |
QuicStreamOffset /*offset*/, |
bool /*fin*/, |
- FecProtection /*fec_protection*/, |
QuicAckListenerInterface* /*ack_notifier_delegate*/) { |
session_->CloseStream(id); |
return QuicConsumedData(1, false); |
@@ -169,7 +168,7 @@ TEST_F(ReliableQuicStreamTest, WriteAllData) { |
PACKET_6BYTE_PACKET_NUMBER, 0u, NOT_IN_FEC_GROUP); |
connection_->SetMaxPacketLength(length); |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(kDataLen, true))); |
stream_->WriteOrBufferData(kData1, false, nullptr); |
EXPECT_FALSE(HasWriteBlockedStreams()); |
@@ -189,7 +188,7 @@ TEST_F(ReliableQuicStreamTest, BlockIfOnlySomeDataConsumed) { |
// Write some data and no fin. If we consume some but not all of the data, |
// we should be write blocked a not all the data was consumed. |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(1, false))); |
stream_->WriteOrBufferData(StringPiece(kData1, 2), false, nullptr); |
ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams()); |
@@ -203,7 +202,7 @@ TEST_F(ReliableQuicStreamTest, BlockIfFinNotConsumedWithData) { |
// we should be write blocked because the fin was not consumed. |
// (This should never actually happen as the fin should be sent out with the |
// last data) |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(2, false))); |
stream_->WriteOrBufferData(StringPiece(kData1, 2), true, nullptr); |
ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams()); |
@@ -214,7 +213,7 @@ TEST_F(ReliableQuicStreamTest, BlockIfSoloFinNotConsumed) { |
// Write no data and a fin. If we consume nothing we should be write blocked, |
// as the fin was not consumed. |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(0, false))); |
stream_->WriteOrBufferData(StringPiece(), true, nullptr); |
ASSERT_EQ(1u, write_blocked_list_->NumBlockedStreams()); |
@@ -226,7 +225,7 @@ TEST_F(ReliableQuicStreamTest, CloseOnPartialWrite) { |
// Write some data and no fin. However, while writing the data |
// close the stream and verify that MarkConnectionLevelWriteBlocked does not |
// crash with an unknown stream. |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(Invoke(this, &ReliableQuicStreamTest::CloseStreamOnWriteError)); |
stream_->WriteOrBufferData(StringPiece(kData1, 2), false, nullptr); |
ASSERT_EQ(0u, write_blocked_list_->NumBlockedStreams()); |
@@ -242,7 +241,7 @@ TEST_F(ReliableQuicStreamTest, WriteOrBufferData) { |
PACKET_6BYTE_PACKET_NUMBER, 0u, NOT_IN_FEC_GROUP); |
connection_->SetMaxPacketLength(length); |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(_, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(kDataLen - 1, false))); |
stream_->WriteOrBufferData(kData1, false, nullptr); |
EXPECT_TRUE(HasWriteBlockedStreams()); |
@@ -252,86 +251,14 @@ TEST_F(ReliableQuicStreamTest, WriteOrBufferData) { |
// Make sure we get the tail of the first write followed by the bytes_consumed |
InSequence s; |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(_, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(1, false))); |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(_, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(kDataLen - 2, false))); |
stream_->OnCanWrite(); |
// And finally the end of the bytes_consumed. |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)) |
- .WillOnce(Return(QuicConsumedData(2, true))); |
- stream_->OnCanWrite(); |
-} |
- |
-TEST_F(ReliableQuicStreamTest, WriteOrBufferDataWithFecProtectAlways) { |
- Initialize(kShouldProcessData); |
- |
- // Set FEC policy on stream. |
- ReliableQuicStreamPeer::SetFecPolicy(stream_, FEC_PROTECT_ALWAYS); |
- |
- EXPECT_FALSE(HasWriteBlockedStreams()); |
- size_t length = |
- 1 + QuicPacketCreator::StreamFramePacketOverhead( |
- PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, !kIncludePathId, |
- PACKET_6BYTE_PACKET_NUMBER, 0u, IN_FEC_GROUP); |
- connection_->SetMaxPacketLength(length); |
- |
- // Write first data onto stream, which will cause one session write. |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, MUST_FEC_PROTECT, _)) |
- .WillOnce(Return(QuicConsumedData(kDataLen - 1, false))); |
- stream_->WriteOrBufferData(kData1, false, nullptr); |
- EXPECT_TRUE(HasWriteBlockedStreams()); |
- |
- // Queue a bytes_consumed write. |
- stream_->WriteOrBufferData(kData2, false, nullptr); |
- |
- // Make sure we get the tail of the first write followed by the bytes_consumed |
- InSequence s; |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, MUST_FEC_PROTECT, _)) |
- .WillOnce(Return(QuicConsumedData(1, false))); |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, MUST_FEC_PROTECT, _)) |
- .WillOnce(Return(QuicConsumedData(kDataLen - 2, false))); |
- stream_->OnCanWrite(); |
- |
- // And finally the end of the bytes_consumed. |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, MUST_FEC_PROTECT, _)) |
- .WillOnce(Return(QuicConsumedData(2, true))); |
- stream_->OnCanWrite(); |
-} |
- |
-TEST_F(ReliableQuicStreamTest, WriteOrBufferDataWithFecProtectOptional) { |
- Initialize(kShouldProcessData); |
- |
- // Set FEC policy on stream. |
- ReliableQuicStreamPeer::SetFecPolicy(stream_, FEC_PROTECT_OPTIONAL); |
- |
- EXPECT_FALSE(HasWriteBlockedStreams()); |
- size_t length = |
- 1 + QuicPacketCreator::StreamFramePacketOverhead( |
- PACKET_8BYTE_CONNECTION_ID, !kIncludeVersion, !kIncludePathId, |
- PACKET_6BYTE_PACKET_NUMBER, 0u, NOT_IN_FEC_GROUP); |
- connection_->SetMaxPacketLength(length); |
- |
- // Write first data onto stream, which will cause one session write. |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, MAY_FEC_PROTECT, _)) |
- .WillOnce(Return(QuicConsumedData(kDataLen - 1, false))); |
- stream_->WriteOrBufferData(kData1, false, nullptr); |
- EXPECT_TRUE(HasWriteBlockedStreams()); |
- |
- // Queue a bytes_consumed write. |
- stream_->WriteOrBufferData(kData2, false, nullptr); |
- |
- // Make sure we get the tail of the first write followed by the bytes_consumed |
- InSequence s; |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, MAY_FEC_PROTECT, _)) |
- .WillOnce(Return(QuicConsumedData(1, false))); |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, MAY_FEC_PROTECT, _)) |
- .WillOnce(Return(QuicConsumedData(kDataLen - 2, false))); |
- stream_->OnCanWrite(); |
- |
- // And finally the end of the bytes_consumed. |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, MAY_FEC_PROTECT, _)) |
+ EXPECT_CALL(*session_, WritevData(_, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(2, true))); |
stream_->OnCanWrite(); |
} |
@@ -359,7 +286,7 @@ TEST_F(ReliableQuicStreamTest, RstAlwaysSentIfNoFinSent) { |
EXPECT_FALSE(rst_sent()); |
// Write some data, with no FIN. |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(1, false))); |
stream_->WriteOrBufferData(StringPiece(kData1, 1), false, nullptr); |
EXPECT_FALSE(fin_sent()); |
@@ -382,7 +309,7 @@ TEST_F(ReliableQuicStreamTest, RstNotSentIfFinSent) { |
EXPECT_FALSE(rst_sent()); |
// Write some data, with FIN. |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(1, true))); |
stream_->WriteOrBufferData(StringPiece(kData1, 1), true, nullptr); |
EXPECT_TRUE(fin_sent()); |
@@ -476,26 +403,23 @@ TEST_F(ReliableQuicStreamTest, WriteOrBufferDataWithQuicAckNotifier) { |
scoped_refptr<QuicAckListenerInterface> ack_listener; |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(DoAll( |
- WithArgs<5>(Invoke(CreateFunctor(SaveAckListener, &ack_listener))), |
+ WithArgs<4>(Invoke(CreateFunctor(SaveAckListener, &ack_listener))), |
Return(QuicConsumedData(kFirstWriteSize, false)))); |
stream_->WriteOrBufferData(kData, false, delegate.get()); |
EXPECT_TRUE(HasWriteBlockedStreams()); |
- EXPECT_CALL(*session_, |
- WritevData(kTestStreamId, _, _, _, _, ack_listener.get())) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, ack_listener.get())) |
.WillOnce(Return(QuicConsumedData(kSecondWriteSize, false))); |
stream_->OnCanWrite(); |
// No ack expected for an empty write. |
- EXPECT_CALL(*session_, |
- WritevData(kTestStreamId, _, _, _, _, ack_listener.get())) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, ack_listener.get())) |
.WillOnce(Return(QuicConsumedData(0, false))); |
stream_->OnCanWrite(); |
- EXPECT_CALL(*session_, |
- WritevData(kTestStreamId, _, _, _, _, ack_listener.get())) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, ack_listener.get())) |
.WillOnce(Return(QuicConsumedData(kLastWriteSize, false))); |
stream_->OnCanWrite(); |
} |
@@ -518,16 +442,16 @@ TEST_F(ReliableQuicStreamTest, WriteOrBufferDataAckNotificationBeforeFlush) { |
scoped_refptr<QuicAckListenerInterface> proxy_delegate; |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(DoAll( |
- WithArgs<5>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
+ WithArgs<4>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
Return(QuicConsumedData(kInitialWriteSize, false)))); |
stream_->WriteOrBufferData(kData, false, ack_listener.get()); |
EXPECT_TRUE(HasWriteBlockedStreams()); |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(DoAll( |
- WithArgs<5>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
+ WithArgs<4>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
Return(QuicConsumedData(kDataSize - kInitialWriteSize, false)))); |
stream_->OnCanWrite(); |
} |
@@ -540,9 +464,9 @@ TEST_F(ReliableQuicStreamTest, WriteAndBufferDataWithAckNotiferNoBuffer) { |
scoped_refptr<QuicAckListenerInterface> proxy_delegate; |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(DoAll( |
- WithArgs<5>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
+ WithArgs<4>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
Return(QuicConsumedData(kDataLen, true)))); |
stream_->WriteOrBufferData(kData1, true, delegate.get()); |
EXPECT_FALSE(HasWriteBlockedStreams()); |
@@ -556,14 +480,14 @@ TEST_F(ReliableQuicStreamTest, BufferOnWriteAndBufferDataWithAckNotifer) { |
scoped_refptr<QuicAckListenerInterface> proxy_delegate; |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(0, false))); |
stream_->WriteOrBufferData(kData1, true, delegate.get()); |
EXPECT_TRUE(HasWriteBlockedStreams()); |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(DoAll( |
- WithArgs<5>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
+ WithArgs<4>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
Return(QuicConsumedData(kDataLen, true)))); |
stream_->OnCanWrite(); |
} |
@@ -577,16 +501,16 @@ TEST_F(ReliableQuicStreamTest, WriteAndBufferDataWithAckNotiferOnlyFinRemains) { |
scoped_refptr<QuicAckListenerInterface> proxy_delegate; |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(DoAll( |
- WithArgs<5>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
+ WithArgs<4>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
Return(QuicConsumedData(kDataLen, false)))); |
stream_->WriteOrBufferData(kData1, true, delegate.get()); |
EXPECT_TRUE(HasWriteBlockedStreams()); |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(DoAll( |
- WithArgs<5>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
+ WithArgs<4>(Invoke(CreateFunctor(SaveAckListener, &proxy_delegate))), |
Return(QuicConsumedData(0, true)))); |
stream_->OnCanWrite(); |
} |
@@ -678,7 +602,7 @@ TEST_F(ReliableQuicStreamTest, SetDrainingIncomingOutgoing) { |
EXPECT_EQ(1u, session_->GetNumOpenIncomingStreams()); |
// Outgoing data with FIN. |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(2, true))); |
stream_->WriteOrBufferData(StringPiece(kData1, 2), true, nullptr); |
EXPECT_TRUE(stream_->write_side_closed()); |
@@ -693,7 +617,7 @@ TEST_F(ReliableQuicStreamTest, SetDrainingOutgoingIncoming) { |
Initialize(kShouldNotProcessData); |
// Outgoing data with FIN. |
- EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(kTestStreamId, _, _, _, _)) |
.WillOnce(Return(QuicConsumedData(2, true))); |
stream_->WriteOrBufferData(StringPiece(kData1, 2), true, nullptr); |
EXPECT_TRUE(stream_->write_side_closed()); |
@@ -714,26 +638,13 @@ TEST_F(ReliableQuicStreamTest, SetDrainingOutgoingIncoming) { |
EXPECT_EQ(0u, session_->GetNumOpenIncomingStreams()); |
} |
-TEST_F(ReliableQuicStreamTest, FecSendPolicyReceivedConnectionOption) { |
- Initialize(kShouldProcessData); |
- |
- // Test ReceivedConnectionOptions. |
- QuicConfig* config = session_->config(); |
- QuicTagVector copt; |
- copt.push_back(kFSTR); |
- QuicConfigPeer::SetReceivedConnectionOptions(config, copt); |
- EXPECT_EQ(FEC_PROTECT_OPTIONAL, stream_->fec_policy()); |
- stream_->SetFromConfig(); |
- EXPECT_EQ(FEC_PROTECT_ALWAYS, stream_->fec_policy()); |
-} |
- |
TEST_F(ReliableQuicStreamTest, EarlyResponseFinHandling) { |
// Verify that if the server completes the response before reading the end of |
// the request, the received FIN is recorded. |
Initialize(kShouldProcessData); |
EXPECT_CALL(*connection_, SendConnectionCloseWithDetails(_, _)).Times(0); |
- EXPECT_CALL(*session_, WritevData(_, _, _, _, _, _)) |
+ EXPECT_CALL(*session_, WritevData(_, _, _, _, _)) |
.WillRepeatedly(Invoke(MockQuicSpdySession::ConsumeAllData)); |
// Receive data for the request. |