Index: net/quic/core/quic_connection_test.cc |
diff --git a/net/quic/core/quic_connection_test.cc b/net/quic/core/quic_connection_test.cc |
index 144f6744650cd40528db1d7202c704ff1ae64264..76cf9e46c2ef9496d0b1022e522d85095c927174 100644 |
--- a/net/quic/core/quic_connection_test.cc |
+++ b/net/quic/core/quic_connection_test.cc |
@@ -17,10 +17,10 @@ |
#include "net/quic/core/crypto/null_encrypter.h" |
#include "net/quic/core/crypto/quic_decrypter.h" |
#include "net/quic/core/crypto/quic_encrypter.h" |
-#include "net/quic/core/quic_flags.h" |
#include "net/quic/core/quic_packets.h" |
#include "net/quic/core/quic_simple_buffer_allocator.h" |
#include "net/quic/core/quic_utils.h" |
+#include "net/quic/platform/api/quic_flags.h" |
#include "net/quic/platform/api/quic_logging.h" |
#include "net/quic/platform/api/quic_reference_counted.h" |
#include "net/quic/platform/api/quic_str_cat.h" |
@@ -59,7 +59,6 @@ namespace { |
const char data1[] = "foo"; |
const char data2[] = "bar"; |
-const bool kFin = true; |
const bool kHasStopWaiting = true; |
const int kDefaultRetransmissionTimeMs = 500; |
@@ -390,6 +389,10 @@ class TestPacketWriter : public QuicPacketWriter { |
return framer_.ping_frames(); |
} |
+ const std::vector<QuicPaddingFrame>& padding_frames() const { |
+ return framer_.padding_frames(); |
+ } |
+ |
size_t last_packet_size() { return last_packet_size_; } |
const QuicVersionNegotiationPacket* version_negotiation_packet() { |
@@ -511,24 +514,24 @@ class TestConnection : public QuicConnection { |
QuicStreamId id, |
QuicStringPiece data, |
QuicStreamOffset offset, |
- bool fin, |
+ StreamSendingState state, |
QuicReferenceCountedPointer<QuicAckListenerInterface> ack_listener) { |
if (id != kCryptoStreamId && this->encryption_level() == ENCRYPTION_NONE) { |
this->SetDefaultEncryptionLevel(ENCRYPTION_FORWARD_SECURE); |
} |
struct iovec iov; |
QuicIOVector data_iov(MakeIOVector(data, &iov)); |
- return QuicConnection::SendStreamData(id, data_iov, offset, fin, |
+ return QuicConnection::SendStreamData(id, data_iov, offset, state, |
std::move(ack_listener)); |
} |
QuicConsumedData SendStreamData3() { |
- return SendStreamDataWithString(kClientDataStreamId1, "food", 0, !kFin, |
+ return SendStreamDataWithString(kClientDataStreamId1, "food", 0, NO_FIN, |
nullptr); |
} |
QuicConsumedData SendStreamData5() { |
- return SendStreamDataWithString(kClientDataStreamId2, "food2", 0, !kFin, |
+ return SendStreamDataWithString(kClientDataStreamId2, "food2", 0, NO_FIN, |
nullptr); |
} |
@@ -544,7 +547,8 @@ class TestConnection : public QuicConnection { |
// split needlessly across packet boundaries). As a result, we have separate |
// tests for some cases for this stream. |
QuicConsumedData SendCryptoStreamData() { |
- return SendStreamDataWithString(kCryptoStreamId, "chlo", 0, !kFin, nullptr); |
+ return SendStreamDataWithString(kCryptoStreamId, "chlo", 0, NO_FIN, |
+ nullptr); |
} |
void set_version(QuicVersion version) { |
@@ -885,12 +889,12 @@ class QuicConnectionTest : public ::testing::TestWithParam<TestParams> { |
QuicByteCount SendStreamDataToPeer(QuicStreamId id, |
QuicStringPiece data, |
QuicStreamOffset offset, |
- bool fin, |
+ StreamSendingState state, |
QuicPacketNumber* last_packet) { |
QuicByteCount packet_size; |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillOnce(DoAll(SaveArg<3>(&packet_size), Return(true))); |
- connection_.SendStreamDataWithString(id, data, offset, fin, nullptr); |
+ connection_.SendStreamDataWithString(id, data, offset, state, nullptr); |
if (last_packet != nullptr) { |
*last_packet = creator_->packet_number(); |
} |
@@ -1418,8 +1422,8 @@ TEST_P(QuicConnectionTest, OutOfOrderReceiptCausesAckSend) { |
TEST_P(QuicConnectionTest, OutOfOrderAckReceiptCausesNoAck) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
- SendStreamDataToPeer(1, "foo", 0, !kFin, nullptr); |
- SendStreamDataToPeer(1, "bar", 3, !kFin, nullptr); |
+ SendStreamDataToPeer(1, "foo", 0, NO_FIN, nullptr); |
+ SendStreamDataToPeer(1, "bar", 3, NO_FIN, nullptr); |
EXPECT_EQ(2u, writer_->packets_write_attempts()); |
QuicAckFrame ack1 = InitAckFrame(1); |
@@ -1441,7 +1445,7 @@ TEST_P(QuicConnectionTest, AckReceiptCausesAckSend) { |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillOnce( |
DoAll(SaveArg<2>(&original), SaveArg<3>(&packet_size), Return(true))); |
- connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", 0, NO_FIN, nullptr); |
QuicAckFrame frame = InitAckFrame(original); |
NackPacket(original, &frame); |
// First nack triggers early retransmit. |
@@ -1468,7 +1472,7 @@ TEST_P(QuicConnectionTest, AckReceiptCausesAckSend) { |
// indicate the high water mark needs to be raised. |
EXPECT_CALL(*send_algorithm_, |
OnPacketSent(_, _, _, _, HAS_RETRANSMITTABLE_DATA)); |
- connection_.SendStreamDataWithString(3, "foo", 3, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", 3, NO_FIN, nullptr); |
// No ack sent. |
EXPECT_EQ(1u, writer_->frame_count()); |
EXPECT_EQ(1u, writer_->stream_frames().size()); |
@@ -1478,7 +1482,7 @@ TEST_P(QuicConnectionTest, AckReceiptCausesAckSend) { |
ProcessAckPacket(&frame2); |
EXPECT_CALL(*send_algorithm_, |
OnPacketSent(_, _, _, _, HAS_RETRANSMITTABLE_DATA)); |
- connection_.SendStreamDataWithString(3, "foo", 3, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", 3, NO_FIN, nullptr); |
// Ack bundled. |
if (GetParam().no_stop_waiting) { |
EXPECT_EQ(2u, writer_->frame_count()); |
@@ -1497,7 +1501,7 @@ TEST_P(QuicConnectionTest, AckReceiptCausesAckSend) { |
TEST_P(QuicConnectionTest, 20AcksCausesAckSend) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
- SendStreamDataToPeer(1, "foo", 0, !kFin, nullptr); |
+ SendStreamDataToPeer(1, "foo", 0, NO_FIN, nullptr); |
QuicAlarm* ack_alarm = QuicConnectionPeer::GetAckAlarm(&connection_); |
// But an ack with no missing packets will not send an ack. |
@@ -1516,9 +1520,9 @@ TEST_P(QuicConnectionTest, 20AcksCausesAckSend) { |
TEST_P(QuicConnectionTest, LeastUnackedLower) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
- SendStreamDataToPeer(1, "foo", 0, !kFin, nullptr); |
- SendStreamDataToPeer(1, "bar", 3, !kFin, nullptr); |
- SendStreamDataToPeer(1, "eep", 6, !kFin, nullptr); |
+ SendStreamDataToPeer(1, "foo", 0, NO_FIN, nullptr); |
+ SendStreamDataToPeer(1, "bar", 3, NO_FIN, nullptr); |
+ SendStreamDataToPeer(1, "eep", 6, NO_FIN, nullptr); |
// Start out saying the least unacked is 2. |
QuicPacketCreatorPeer::SetPacketNumber(&peer_creator_, 5); |
@@ -1553,7 +1557,7 @@ TEST_P(QuicConnectionTest, TooManySentPackets) { |
const int num_packets = kMaxTrackedPackets + 100; |
for (int i = 0; i < num_packets; ++i) { |
- SendStreamDataToPeer(1, "foo", 3 * i, !kFin, nullptr); |
+ SendStreamDataToPeer(1, "foo", 3 * i, NO_FIN, nullptr); |
} |
// Ack packet 1, which leaves more than the limit outstanding. |
@@ -1579,9 +1583,9 @@ TEST_P(QuicConnectionTest, TooManyReceivedPackets) { |
TEST_P(QuicConnectionTest, LargestObservedLower) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
- SendStreamDataToPeer(1, "foo", 0, !kFin, nullptr); |
- SendStreamDataToPeer(1, "bar", 3, !kFin, nullptr); |
- SendStreamDataToPeer(1, "eep", 6, !kFin, nullptr); |
+ SendStreamDataToPeer(1, "foo", 0, NO_FIN, nullptr); |
+ SendStreamDataToPeer(1, "bar", 3, NO_FIN, nullptr); |
+ SendStreamDataToPeer(1, "eep", 6, NO_FIN, nullptr); |
EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _, _)); |
// Start out saying the largest observed is 2. |
@@ -1619,7 +1623,7 @@ TEST_P(QuicConnectionTest, AckAll) { |
TEST_P(QuicConnectionTest, BasicSending) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
QuicPacketNumber last_packet; |
- SendStreamDataToPeer(1, "foo", 0, !kFin, &last_packet); // Packet 1 |
+ SendStreamDataToPeer(1, "foo", 0, NO_FIN, &last_packet); // Packet 1 |
EXPECT_EQ(1u, last_packet); |
SendAckPacketToPeer(); // Packet 2 |
@@ -1638,7 +1642,7 @@ TEST_P(QuicConnectionTest, BasicSending) { |
EXPECT_EQ(1u, least_unacked()); |
} |
- SendStreamDataToPeer(1, "bar", 3, !kFin, &last_packet); // Packet 4 |
+ SendStreamDataToPeer(1, "bar", 3, NO_FIN, &last_packet); // Packet 4 |
EXPECT_EQ(4u, last_packet); |
SendAckPacketToPeer(); // Packet 5 |
if (GetParam().no_stop_waiting) { |
@@ -1691,7 +1695,7 @@ TEST_P(QuicConnectionTest, BasicSending) { |
} |
// But if we send more data it should. |
- SendStreamDataToPeer(1, "eep", 6, !kFin, &last_packet); // Packet 8 |
+ SendStreamDataToPeer(1, "eep", 6, NO_FIN, &last_packet); // Packet 8 |
EXPECT_EQ(8u, last_packet); |
SendAckPacketToPeer(); // Packet 9 |
if (GetParam().no_stop_waiting) { |
@@ -1715,7 +1719,7 @@ TEST_P(QuicConnectionTest, RecordSentTimeBeforePacketSent) { |
// First send without any pause and check the result. |
QuicTime expected_recorded_send_time = clock_.Now(); |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, nullptr); |
EXPECT_EQ(expected_recorded_send_time, actual_recorded_send_time) |
<< "Expected time = " << expected_recorded_send_time.ToDebuggingValue() |
<< ". Actual time = " << actual_recorded_send_time.ToDebuggingValue(); |
@@ -1729,7 +1733,7 @@ TEST_P(QuicConnectionTest, RecordSentTimeBeforePacketSent) { |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillOnce(DoAll(SaveArg<0>(&actual_recorded_send_time), Return(true))); |
- connection_.SendStreamDataWithString(2, "baz", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(2, "baz", 0, NO_FIN, nullptr); |
EXPECT_EQ(expected_recorded_send_time, actual_recorded_send_time) |
<< "Expected time = " << expected_recorded_send_time.ToDebuggingValue() |
<< ". Actual time = " << actual_recorded_send_time.ToDebuggingValue(); |
@@ -1776,8 +1780,9 @@ TEST_P(QuicConnectionTest, FramePackingNonCryptoThenCrypto) { |
EXPECT_FALSE(connection_.HasQueuedData()); |
// Parse the last packet and ensure it's the crypto stream frame. |
- EXPECT_EQ(1u, writer_->frame_count()); |
+ EXPECT_EQ(2u, writer_->frame_count()); |
ASSERT_EQ(1u, writer_->stream_frames().size()); |
+ ASSERT_EQ(1u, writer_->padding_frames().size()); |
EXPECT_EQ(kCryptoStreamId, writer_->stream_frames()[0]->stream_id); |
} |
@@ -1847,15 +1852,16 @@ TEST_P(QuicConnectionTest, FramePackingSendv) { |
iov[0].iov_len = 2; |
iov[1].iov_base = data + 2; |
iov[1].iov_len = 2; |
- connection_.SendStreamData(1, QuicIOVector(iov, 2, 4), 0, !kFin, nullptr); |
+ connection_.SendStreamData(1, QuicIOVector(iov, 2, 4), 0, NO_FIN, nullptr); |
EXPECT_EQ(0u, connection_.NumQueuedPackets()); |
EXPECT_FALSE(connection_.HasQueuedData()); |
// Parse the last packet and ensure multiple iovector blocks have |
// been packed into a single stream frame from one stream. |
- EXPECT_EQ(1u, writer_->frame_count()); |
+ EXPECT_EQ(2u, writer_->frame_count()); |
EXPECT_EQ(1u, writer_->stream_frames().size()); |
+ EXPECT_EQ(1u, writer_->padding_frames().size()); |
QuicStreamFrame* frame = writer_->stream_frames()[0].get(); |
EXPECT_EQ(1u, frame->stream_id); |
EXPECT_EQ("ABCD", QuicStringPiece(frame->data_buffer, frame->data_length)); |
@@ -1872,7 +1878,7 @@ TEST_P(QuicConnectionTest, FramePackingSendvQueued) { |
iov[0].iov_len = 2; |
iov[1].iov_base = data + 2; |
iov[1].iov_len = 2; |
- connection_.SendStreamData(1, QuicIOVector(iov, 2, 4), 0, !kFin, nullptr); |
+ connection_.SendStreamData(1, QuicIOVector(iov, 2, 4), 0, NO_FIN, nullptr); |
EXPECT_EQ(1u, connection_.NumQueuedPackets()); |
EXPECT_TRUE(connection_.HasQueuedData()); |
@@ -1883,8 +1889,9 @@ TEST_P(QuicConnectionTest, FramePackingSendvQueued) { |
EXPECT_EQ(0u, connection_.NumQueuedPackets()); |
// Parse the last packet and ensure it's one stream frame from one stream. |
- EXPECT_EQ(1u, writer_->frame_count()); |
+ EXPECT_EQ(2u, writer_->frame_count()); |
EXPECT_EQ(1u, writer_->stream_frames().size()); |
+ EXPECT_EQ(1u, writer_->padding_frames().size()); |
EXPECT_EQ(1u, writer_->stream_frames()[0]->stream_id); |
} |
@@ -1893,7 +1900,7 @@ TEST_P(QuicConnectionTest, SendingZeroBytes) { |
// Send a zero byte write with a fin using writev. |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)); |
QuicIOVector empty_iov(nullptr, 0, 0); |
- connection_.SendStreamData(kHeadersStreamId, empty_iov, 0, kFin, nullptr); |
+ connection_.SendStreamData(kHeadersStreamId, empty_iov, 0, FIN, nullptr); |
EXPECT_EQ(0u, connection_.NumQueuedPackets()); |
EXPECT_FALSE(connection_.HasQueuedData()); |
@@ -1926,7 +1933,7 @@ TEST_P(QuicConnectionTest, LargeSendWithPendingAck) { |
iov.iov_len = len; |
QuicIOVector iovector(&iov, 1, len); |
QuicConsumedData consumed = |
- connection_.SendStreamData(kHeadersStreamId, iovector, 0, true, nullptr); |
+ connection_.SendStreamData(kHeadersStreamId, iovector, 0, FIN, nullptr); |
EXPECT_EQ(len, consumed.bytes_consumed); |
EXPECT_TRUE(consumed.fin_consumed); |
EXPECT_EQ(0u, connection_.NumQueuedPackets()); |
@@ -1971,10 +1978,10 @@ TEST_P(QuicConnectionTest, OnCanWrite) { |
TEST_P(QuicConnectionTest, RetransmitOnNack) { |
QuicPacketNumber last_packet; |
QuicByteCount second_packet_size; |
- SendStreamDataToPeer(3, "foo", 0, !kFin, &last_packet); // Packet 1 |
+ SendStreamDataToPeer(3, "foo", 0, NO_FIN, &last_packet); // Packet 1 |
second_packet_size = |
- SendStreamDataToPeer(3, "foos", 3, !kFin, &last_packet); // Packet 2 |
- SendStreamDataToPeer(3, "fooos", 7, !kFin, &last_packet); // Packet 3 |
+ SendStreamDataToPeer(3, "foos", 3, NO_FIN, &last_packet); // Packet 2 |
+ SendStreamDataToPeer(3, "fooos", 7, NO_FIN, &last_packet); // Packet 3 |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
@@ -2002,7 +2009,7 @@ TEST_P(QuicConnectionTest, DoNotSendQueuedPacketForResetStream) { |
BlockOnNextWrite(); |
QuicStreamId stream_id = 2; |
- connection_.SendStreamDataWithString(stream_id, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(stream_id, "foo", 0, NO_FIN, nullptr); |
// Now that there is a queued packet, reset the stream. |
connection_.SendRstStream(stream_id, QUIC_ERROR_PROCESSING_STREAM, 14); |
@@ -2020,7 +2027,7 @@ TEST_P(QuicConnectionTest, SendQueuedPacketForQuicRstStreamNoError) { |
BlockOnNextWrite(); |
QuicStreamId stream_id = 2; |
- connection_.SendStreamDataWithString(stream_id, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(stream_id, "foo", 0, NO_FIN, nullptr); |
// Now that there is a queued packet, reset the stream. |
connection_.SendRstStream(stream_id, QUIC_STREAM_NO_ERROR, 14); |
@@ -2037,9 +2044,9 @@ TEST_P(QuicConnectionTest, SendQueuedPacketForQuicRstStreamNoError) { |
TEST_P(QuicConnectionTest, DoNotRetransmitForResetStreamOnNack) { |
QuicStreamId stream_id = 2; |
QuicPacketNumber last_packet; |
- SendStreamDataToPeer(stream_id, "foo", 0, !kFin, &last_packet); |
- SendStreamDataToPeer(stream_id, "foos", 3, !kFin, &last_packet); |
- SendStreamDataToPeer(stream_id, "fooos", 7, !kFin, &last_packet); |
+ SendStreamDataToPeer(stream_id, "foo", 0, NO_FIN, &last_packet); |
+ SendStreamDataToPeer(stream_id, "foos", 3, NO_FIN, &last_packet); |
+ SendStreamDataToPeer(stream_id, "fooos", 7, NO_FIN, &last_packet); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(1); |
connection_.SendRstStream(stream_id, QUIC_ERROR_PROCESSING_STREAM, 14); |
@@ -2057,9 +2064,9 @@ TEST_P(QuicConnectionTest, DoNotRetransmitForResetStreamOnNack) { |
TEST_P(QuicConnectionTest, RetransmitForQuicRstStreamNoErrorOnNack) { |
QuicStreamId stream_id = 2; |
QuicPacketNumber last_packet; |
- SendStreamDataToPeer(stream_id, "foo", 0, !kFin, &last_packet); |
- SendStreamDataToPeer(stream_id, "foos", 3, !kFin, &last_packet); |
- SendStreamDataToPeer(stream_id, "fooos", 7, !kFin, &last_packet); |
+ SendStreamDataToPeer(stream_id, "foo", 0, NO_FIN, &last_packet); |
+ SendStreamDataToPeer(stream_id, "foos", 3, NO_FIN, &last_packet); |
+ SendStreamDataToPeer(stream_id, "fooos", 7, NO_FIN, &last_packet); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(1); |
connection_.SendRstStream(stream_id, QUIC_STREAM_NO_ERROR, 14); |
@@ -2080,7 +2087,7 @@ TEST_P(QuicConnectionTest, RetransmitForQuicRstStreamNoErrorOnNack) { |
TEST_P(QuicConnectionTest, DoNotRetransmitForResetStreamOnRTO) { |
QuicStreamId stream_id = 2; |
QuicPacketNumber last_packet; |
- SendStreamDataToPeer(stream_id, "foo", 0, !kFin, &last_packet); |
+ SendStreamDataToPeer(stream_id, "foo", 0, NO_FIN, &last_packet); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(1); |
connection_.SendRstStream(stream_id, QUIC_ERROR_PROCESSING_STREAM, 14); |
@@ -2099,7 +2106,7 @@ TEST_P(QuicConnectionTest, DoNotRetransmitForResetStreamOnRTO) { |
TEST_P(QuicConnectionTest, CancelRetransmissionAlarmAfterResetStream) { |
QuicStreamId stream_id = 2; |
QuicPacketNumber last_data_packet; |
- SendStreamDataToPeer(stream_id, "foo", 0, !kFin, &last_data_packet); |
+ SendStreamDataToPeer(stream_id, "foo", 0, NO_FIN, &last_data_packet); |
// Cancel the stream. |
const QuicPacketNumber rst_packet = last_data_packet + 1; |
@@ -2126,7 +2133,7 @@ TEST_P(QuicConnectionTest, RetransmitForQuicRstStreamNoErrorOnRTO) { |
QuicStreamId stream_id = 2; |
QuicPacketNumber last_packet; |
- SendStreamDataToPeer(stream_id, "foo", 0, !kFin, &last_packet); |
+ SendStreamDataToPeer(stream_id, "foo", 0, NO_FIN, &last_packet); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(1); |
connection_.SendRstStream(stream_id, QUIC_STREAM_NO_ERROR, 14); |
@@ -2144,10 +2151,10 @@ TEST_P(QuicConnectionTest, RetransmitForQuicRstStreamNoErrorOnRTO) { |
TEST_P(QuicConnectionTest, DoNotSendPendingRetransmissionForResetStream) { |
QuicStreamId stream_id = 2; |
QuicPacketNumber last_packet; |
- SendStreamDataToPeer(stream_id, "foo", 0, !kFin, &last_packet); |
- SendStreamDataToPeer(stream_id, "foos", 3, !kFin, &last_packet); |
+ SendStreamDataToPeer(stream_id, "foo", 0, NO_FIN, &last_packet); |
+ SendStreamDataToPeer(stream_id, "foos", 3, NO_FIN, &last_packet); |
BlockOnNextWrite(); |
- connection_.SendStreamDataWithString(stream_id, "fooos", 7, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(stream_id, "fooos", 7, NO_FIN, nullptr); |
// Lose a packet which will trigger a pending retransmission. |
QuicAckFrame ack = InitAckFrame(last_packet); |
@@ -2173,10 +2180,10 @@ TEST_P(QuicConnectionTest, DoNotSendPendingRetransmissionForResetStream) { |
TEST_P(QuicConnectionTest, SendPendingRetransmissionForQuicRstStreamNoError) { |
QuicStreamId stream_id = 2; |
QuicPacketNumber last_packet; |
- SendStreamDataToPeer(stream_id, "foo", 0, !kFin, &last_packet); |
- SendStreamDataToPeer(stream_id, "foos", 3, !kFin, &last_packet); |
+ SendStreamDataToPeer(stream_id, "foo", 0, NO_FIN, &last_packet); |
+ SendStreamDataToPeer(stream_id, "foos", 3, NO_FIN, &last_packet); |
BlockOnNextWrite(); |
- connection_.SendStreamDataWithString(stream_id, "fooos", 7, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(stream_id, "fooos", 7, NO_FIN, nullptr); |
// Lose a packet which will trigger a pending retransmission. |
QuicAckFrame ack = InitAckFrame(last_packet); |
@@ -2203,9 +2210,9 @@ TEST_P(QuicConnectionTest, SendPendingRetransmissionForQuicRstStreamNoError) { |
TEST_P(QuicConnectionTest, RetransmitAckedPacket) { |
QuicPacketNumber last_packet; |
- SendStreamDataToPeer(1, "foo", 0, !kFin, &last_packet); // Packet 1 |
- SendStreamDataToPeer(1, "foos", 3, !kFin, &last_packet); // Packet 2 |
- SendStreamDataToPeer(1, "fooos", 7, !kFin, &last_packet); // Packet 3 |
+ SendStreamDataToPeer(1, "foo", 0, NO_FIN, &last_packet); // Packet 1 |
+ SendStreamDataToPeer(1, "foos", 3, NO_FIN, &last_packet); // Packet 2 |
+ SendStreamDataToPeer(1, "fooos", 7, NO_FIN, &last_packet); // Packet 3 |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
@@ -2248,7 +2255,7 @@ TEST_P(QuicConnectionTest, RetransmitNackedLargestObserved) { |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillOnce(DoAll(SaveArg<2>(&largest_observed), SaveArg<3>(&packet_size), |
Return(true))); |
- connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", 0, NO_FIN, nullptr); |
QuicAckFrame frame = InitAckFrame(1); |
NackPacket(largest_observed, &frame); |
@@ -2268,7 +2275,7 @@ TEST_P(QuicConnectionTest, QueueAfterTwoRTOs) { |
for (int i = 0; i < 10; ++i) { |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(1); |
- connection_.SendStreamDataWithString(3, "foo", i * 3, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", i * 3, NO_FIN, nullptr); |
} |
// Block the writer and ensure they're queued. |
@@ -2293,7 +2300,7 @@ TEST_P(QuicConnectionTest, WriteBlockedBufferedThenSent) { |
BlockOnNextWrite(); |
writer_->set_is_write_blocked_data_buffered(true); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(1); |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, nullptr); |
EXPECT_TRUE(connection_.GetRetransmissionAlarm()->IsSet()); |
writer_->SetWritable(); |
@@ -2304,14 +2311,14 @@ TEST_P(QuicConnectionTest, WriteBlockedBufferedThenSent) { |
TEST_P(QuicConnectionTest, WriteBlockedThenSent) { |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(0); |
BlockOnNextWrite(); |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, nullptr); |
EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet()); |
EXPECT_EQ(1u, connection_.NumQueuedPackets()); |
// The second packet should also be queued, in order to ensure packets are |
// never sent out of order. |
writer_->SetWritable(); |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, nullptr); |
EXPECT_EQ(2u, connection_.NumQueuedPackets()); |
// Now both are sent in order when we unblock. |
@@ -2322,7 +2329,7 @@ TEST_P(QuicConnectionTest, WriteBlockedThenSent) { |
TEST_P(QuicConnectionTest, RetransmitWriteBlockedAckedOriginalThenSent) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
- connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", 0, NO_FIN, nullptr); |
EXPECT_TRUE(connection_.GetRetransmissionAlarm()->IsSet()); |
BlockOnNextWrite(); |
@@ -2347,7 +2354,7 @@ TEST_P(QuicConnectionTest, RetransmitWriteBlockedAckedOriginalThenSent) { |
TEST_P(QuicConnectionTest, AlarmsWhenWriteBlocked) { |
// Block the connection. |
BlockOnNextWrite(); |
- connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", 0, NO_FIN, nullptr); |
EXPECT_EQ(1u, writer_->packets_write_attempts()); |
EXPECT_TRUE(writer_->IsWriteBlocked()); |
@@ -2366,7 +2373,7 @@ TEST_P(QuicConnectionTest, NoLimitPacketsPerNack) { |
int offset = 0; |
// Send packets 1 to 15. |
for (int i = 0; i < 15; ++i) { |
- SendStreamDataToPeer(1, "foo", offset, !kFin, nullptr); |
+ SendStreamDataToPeer(1, "foo", offset, NO_FIN, nullptr); |
offset += 3; |
} |
@@ -2392,16 +2399,16 @@ TEST_P(QuicConnectionTest, NoLimitPacketsPerNack) { |
// Test sending multiple acks from the connection to the session. |
TEST_P(QuicConnectionTest, MultipleAcks) { |
QuicPacketNumber last_packet; |
- SendStreamDataToPeer(1, "foo", 0, !kFin, &last_packet); // Packet 1 |
+ SendStreamDataToPeer(1, "foo", 0, NO_FIN, &last_packet); // Packet 1 |
EXPECT_EQ(1u, last_packet); |
- SendStreamDataToPeer(3, "foo", 0, !kFin, &last_packet); // Packet 2 |
+ SendStreamDataToPeer(3, "foo", 0, NO_FIN, &last_packet); // Packet 2 |
EXPECT_EQ(2u, last_packet); |
SendAckPacketToPeer(); // Packet 3 |
- SendStreamDataToPeer(5, "foo", 0, !kFin, &last_packet); // Packet 4 |
+ SendStreamDataToPeer(5, "foo", 0, NO_FIN, &last_packet); // Packet 4 |
EXPECT_EQ(4u, last_packet); |
- SendStreamDataToPeer(1, "foo", 3, !kFin, &last_packet); // Packet 5 |
+ SendStreamDataToPeer(1, "foo", 3, NO_FIN, &last_packet); // Packet 5 |
EXPECT_EQ(5u, last_packet); |
- SendStreamDataToPeer(3, "foo", 3, !kFin, &last_packet); // Packet 6 |
+ SendStreamDataToPeer(3, "foo", 3, NO_FIN, &last_packet); // Packet 6 |
EXPECT_EQ(6u, last_packet); |
// Client will ack packets 1, 2, [!3], 4, 5. |
@@ -2418,7 +2425,7 @@ TEST_P(QuicConnectionTest, MultipleAcks) { |
} |
TEST_P(QuicConnectionTest, DontLatchUnackedPacket) { |
- SendStreamDataToPeer(1, "foo", 0, !kFin, nullptr); // Packet 1; |
+ SendStreamDataToPeer(1, "foo", 0, NO_FIN, nullptr); // Packet 1; |
// From now on, we send acks, so the send algorithm won't mark them pending. |
ON_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillByDefault(Return(false)); |
@@ -2460,7 +2467,7 @@ TEST_P(QuicConnectionTest, DontLatchUnackedPacket) { |
ON_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillByDefault(Return(true)); |
- SendStreamDataToPeer(1, "bar", 3, false, nullptr); // Packet 4 |
+ SendStreamDataToPeer(1, "bar", 3, NO_FIN, nullptr); // Packet 4 |
EXPECT_EQ(4u, stop_waiting()->least_unacked); |
ON_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillByDefault(Return(false)); |
@@ -2476,8 +2483,8 @@ TEST_P(QuicConnectionTest, DontLatchUnackedPacket) { |
// the least unacked is raised above the ack packets. |
ON_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillByDefault(Return(true)); |
- SendStreamDataToPeer(1, "bar", 6, false, nullptr); // Packet 6 |
- SendStreamDataToPeer(1, "bar", 9, false, nullptr); // Packet 7 |
+ SendStreamDataToPeer(1, "bar", 6, NO_FIN, nullptr); // Packet 6 |
+ SendStreamDataToPeer(1, "bar", 9, NO_FIN, nullptr); // Packet 7 |
EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _, _)); |
frame = InitAckFrame(7); |
@@ -2491,7 +2498,7 @@ TEST_P(QuicConnectionTest, DontLatchUnackedPacket) { |
TEST_P(QuicConnectionTest, TLP) { |
connection_.SetMaxTailLossProbes(1); |
- SendStreamDataToPeer(3, "foo", 0, !kFin, nullptr); |
+ SendStreamDataToPeer(3, "foo", 0, NO_FIN, nullptr); |
EXPECT_EQ(1u, stop_waiting()->least_unacked); |
QuicTime retransmission_time = |
connection_.GetRetransmissionAlarm()->deadline(); |
@@ -2513,7 +2520,7 @@ TEST_P(QuicConnectionTest, RTO) { |
QuicTime default_retransmission_time = |
clock_.ApproximateNow() + DefaultRetransmissionTime(); |
- SendStreamDataToPeer(3, "foo", 0, !kFin, nullptr); |
+ SendStreamDataToPeer(3, "foo", 0, NO_FIN, nullptr); |
EXPECT_EQ(1u, stop_waiting()->least_unacked); |
EXPECT_EQ(1u, writer_->header().packet_number); |
@@ -2534,12 +2541,12 @@ TEST_P(QuicConnectionTest, RetransmitWithSameEncryptionLevel) { |
// A TaggingEncrypter puts kTagSize copies of the given byte (0x01 here) at |
// the end of the packet. We can test this to check which encrypter was used. |
connection_.SetEncrypter(ENCRYPTION_NONE, new TaggingEncrypter(0x01)); |
- SendStreamDataToPeer(kCryptoStreamId, "foo", 0, !kFin, nullptr); |
+ SendStreamDataToPeer(kCryptoStreamId, "foo", 0, NO_FIN, nullptr); |
EXPECT_EQ(0x01010101u, writer_->final_bytes_of_last_packet()); |
connection_.SetEncrypter(ENCRYPTION_INITIAL, new TaggingEncrypter(0x02)); |
connection_.SetDefaultEncryptionLevel(ENCRYPTION_INITIAL); |
- SendStreamDataToPeer(3, "foo", 0, !kFin, nullptr); |
+ SendStreamDataToPeer(3, "foo", 0, NO_FIN, nullptr); |
EXPECT_EQ(0x02020202u, writer_->final_bytes_of_last_packet()); |
{ |
@@ -2568,7 +2575,7 @@ TEST_P(QuicConnectionTest, SendHandshakeMessages) { |
EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _)) |
.WillRepeatedly(testing::Return(QuicTime::Delta::Zero())); |
BlockOnNextWrite(); |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, nullptr); |
// The packet should be serialized, but not queued. |
EXPECT_EQ(1u, connection_.NumQueuedPackets()); |
@@ -2591,7 +2598,7 @@ TEST_P(QuicConnectionTest, |
use_tagging_decrypter(); |
connection_.SetEncrypter(ENCRYPTION_NONE, new TaggingEncrypter(0x01)); |
QuicPacketNumber packet_number; |
- SendStreamDataToPeer(kCryptoStreamId, "foo", 0, !kFin, &packet_number); |
+ SendStreamDataToPeer(kCryptoStreamId, "foo", 0, NO_FIN, &packet_number); |
// Simulate the retransmission alarm firing and the socket blocking. |
BlockOnNextWrite(); |
@@ -2616,12 +2623,12 @@ TEST_P(QuicConnectionTest, RetransmitPacketsWithInitialEncryption) { |
connection_.SetEncrypter(ENCRYPTION_NONE, new TaggingEncrypter(0x01)); |
connection_.SetDefaultEncryptionLevel(ENCRYPTION_NONE); |
- SendStreamDataToPeer(1, "foo", 0, !kFin, nullptr); |
+ SendStreamDataToPeer(1, "foo", 0, NO_FIN, nullptr); |
connection_.SetEncrypter(ENCRYPTION_INITIAL, new TaggingEncrypter(0x02)); |
connection_.SetDefaultEncryptionLevel(ENCRYPTION_INITIAL); |
- SendStreamDataToPeer(2, "bar", 0, !kFin, nullptr); |
+ SendStreamDataToPeer(2, "bar", 0, NO_FIN, nullptr); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(1); |
connection_.RetransmitUnackedPackets(ALL_INITIAL_RETRANSMISSION); |
@@ -2695,11 +2702,11 @@ TEST_P(QuicConnectionTest, TestRetransmitOrder) { |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillOnce(DoAll(SaveArg<3>(&first_packet_size), Return(true))); |
- connection_.SendStreamDataWithString(3, "first_packet", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "first_packet", 0, NO_FIN, nullptr); |
QuicByteCount second_packet_size; |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillOnce(DoAll(SaveArg<3>(&second_packet_size), Return(true))); |
- connection_.SendStreamDataWithString(3, "second_packet", 12, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "second_packet", 12, NO_FIN, nullptr); |
EXPECT_NE(first_packet_size, second_packet_size); |
// Advance the clock by huge time to make sure packets will be retransmitted. |
clock_.AdvanceTime(QuicTime::Delta::FromSeconds(10)); |
@@ -2723,7 +2730,7 @@ TEST_P(QuicConnectionTest, TestRetransmitOrder) { |
TEST_P(QuicConnectionTest, SetRTOAfterWritingToSocket) { |
BlockOnNextWrite(); |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, nullptr); |
// Make sure that RTO is not started when the packet is queued. |
EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet()); |
@@ -2738,8 +2745,8 @@ TEST_P(QuicConnectionTest, DelayRTOWithAckReceipt) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(2); |
- connection_.SendStreamDataWithString(2, "foo", 0, !kFin, nullptr); |
- connection_.SendStreamDataWithString(3, "bar", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(2, "foo", 0, NO_FIN, nullptr); |
+ connection_.SendStreamDataWithString(3, "bar", 0, NO_FIN, nullptr); |
QuicAlarm* retransmission_alarm = connection_.GetRetransmissionAlarm(); |
EXPECT_TRUE(retransmission_alarm->IsSet()); |
EXPECT_EQ(clock_.Now() + DefaultRetransmissionTime(), |
@@ -2781,7 +2788,7 @@ TEST_P(QuicConnectionTest, TestQueued) { |
EXPECT_EQ(0u, connection_.NumQueuedPackets()); |
BlockOnNextWrite(); |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, nullptr); |
EXPECT_EQ(1u, connection_.NumQueuedPackets()); |
// Unblock the writes and actually send. |
@@ -2835,7 +2842,7 @@ TEST_P(QuicConnectionTest, HandshakeTimeout) { |
EXPECT_TRUE(connection_.connected()); |
// Send and ack new data 3 seconds later to lengthen the idle timeout. |
- SendStreamDataToPeer(kHeadersStreamId, "GET /", 0, kFin, nullptr); |
+ SendStreamDataToPeer(kHeadersStreamId, "GET /", 0, FIN, nullptr); |
clock_.AdvanceTime(QuicTime::Delta::FromSeconds(3)); |
QuicAckFrame frame = InitAckFrame(1); |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
@@ -2873,7 +2880,7 @@ TEST_P(QuicConnectionTest, PingAfterSend) { |
// the ping alarm. |
clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(5)); |
EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet()); |
- SendStreamDataToPeer(kHeadersStreamId, "GET /", 0, kFin, nullptr); |
+ SendStreamDataToPeer(kHeadersStreamId, "GET /", 0, FIN, nullptr); |
EXPECT_TRUE(connection_.GetPingAlarm()->IsSet()); |
EXPECT_EQ(clock_.ApproximateNow() + QuicTime::Delta::FromSeconds(15), |
connection_.GetPingAlarm()->deadline()); |
@@ -2918,7 +2925,7 @@ TEST_P(QuicConnectionTest, ReducedPingTimeout) { |
// the ping alarm. |
clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(5)); |
EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet()); |
- SendStreamDataToPeer(kHeadersStreamId, "GET /", 0, kFin, nullptr); |
+ SendStreamDataToPeer(kHeadersStreamId, "GET /", 0, FIN, nullptr); |
EXPECT_TRUE(connection_.GetPingAlarm()->IsSet()); |
EXPECT_EQ(clock_.ApproximateNow() + QuicTime::Delta::FromSeconds(10), |
connection_.GetPingAlarm()->deadline()); |
@@ -2972,7 +2979,7 @@ TEST_P(QuicConnectionTest, SendMtuDiscoveryPacket) { |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillOnce(DoAll(SaveArg<3>(&size_before_mtu_change), Return(true))) |
.WillOnce(Return(true)); |
- connection_.SendStreamDataWithString(3, data, 0, kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, data, 0, FIN, nullptr); |
EXPECT_EQ(3u, creator_->packet_number()); |
EXPECT_EQ(kDefaultMaxPacketSize, size_before_mtu_change); |
@@ -2985,7 +2992,7 @@ TEST_P(QuicConnectionTest, SendMtuDiscoveryPacket) { |
// Send the same data again. Check that it fits into a single packet now. |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(1); |
- connection_.SendStreamDataWithString(3, data, 0, kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, data, 0, FIN, nullptr); |
EXPECT_EQ(4u, creator_->packet_number()); |
} |
@@ -2996,7 +3003,7 @@ TEST_P(QuicConnectionTest, MtuDiscoveryDisabled) { |
const QuicPacketCount number_of_packets = kPacketsBetweenMtuProbesBase * 2; |
for (QuicPacketCount i = 0; i < number_of_packets; i++) { |
- SendStreamDataToPeer(3, ".", i, /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, ".", i, NO_FIN, nullptr); |
EXPECT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
EXPECT_EQ(0u, connection_.mtu_probe_count()); |
} |
@@ -3011,13 +3018,12 @@ TEST_P(QuicConnectionTest, MtuDiscoveryEnabled) { |
// Send enough packets so that the next one triggers path MTU discovery. |
for (QuicPacketCount i = 0; i < kPacketsBetweenMtuProbesBase - 1; i++) { |
- SendStreamDataToPeer(3, ".", i, /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, ".", i, NO_FIN, nullptr); |
ASSERT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
} |
// Trigger the probe. |
- SendStreamDataToPeer(3, "!", kPacketsBetweenMtuProbesBase, |
- /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, "!", kPacketsBetweenMtuProbesBase, NO_FIN, nullptr); |
ASSERT_TRUE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
QuicByteCount probe_size; |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
@@ -3038,7 +3044,7 @@ TEST_P(QuicConnectionTest, MtuDiscoveryEnabled) { |
// Send more packets, and ensure that none of them sets the alarm. |
for (QuicPacketCount i = 0; i < 4 * kPacketsBetweenMtuProbesBase; i++) { |
- SendStreamDataToPeer(3, ".", i, /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, ".", i, NO_FIN, nullptr); |
ASSERT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
} |
@@ -3076,7 +3082,7 @@ TEST_P(QuicConnectionTest, MtuDiscoveryFailed) { |
EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _, _)) |
.Times(AnyNumber()); |
for (QuicPacketCount i = 0; i < number_of_packets; i++) { |
- SendStreamDataToPeer(3, "!", i, /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, "!", i, NO_FIN, nullptr); |
clock_.AdvanceTime(rtt); |
// Receive an ACK, which marks all data packets as received, and all MTU |
@@ -3127,13 +3133,12 @@ TEST_P(QuicConnectionTest, MtuDiscoveryWriterLimited) { |
// Send enough packets so that the next one triggers path MTU discovery. |
for (QuicPacketCount i = 0; i < kPacketsBetweenMtuProbesBase - 1; i++) { |
- SendStreamDataToPeer(3, ".", i, /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, ".", i, NO_FIN, nullptr); |
ASSERT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
} |
// Trigger the probe. |
- SendStreamDataToPeer(3, "!", kPacketsBetweenMtuProbesBase, |
- /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, "!", kPacketsBetweenMtuProbesBase, NO_FIN, nullptr); |
ASSERT_TRUE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
QuicByteCount probe_size; |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
@@ -3155,7 +3160,7 @@ TEST_P(QuicConnectionTest, MtuDiscoveryWriterLimited) { |
// Send more packets, and ensure that none of them sets the alarm. |
for (QuicPacketCount i = 0; i < 4 * kPacketsBetweenMtuProbesBase; i++) { |
- SendStreamDataToPeer(3, ".", i, /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, ".", i, NO_FIN, nullptr); |
ASSERT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
} |
@@ -3175,13 +3180,12 @@ TEST_P(QuicConnectionTest, MtuDiscoveryWriterFailed) { |
// Send enough packets so that the next one triggers path MTU discovery. |
for (QuicPacketCount i = 0; i < kPacketsBetweenMtuProbesBase - 1; i++) { |
- SendStreamDataToPeer(3, ".", i, /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, ".", i, NO_FIN, nullptr); |
ASSERT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
} |
// Trigger the probe. |
- SendStreamDataToPeer(3, "!", kPacketsBetweenMtuProbesBase, |
- /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, "!", kPacketsBetweenMtuProbesBase, NO_FIN, nullptr); |
ASSERT_TRUE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
writer_->SimulateNextPacketTooLarge(); |
connection_.GetMtuDiscoveryAlarm()->Fire(); |
@@ -3220,12 +3224,11 @@ TEST_P(QuicConnectionTest, NoMtuDiscoveryAfterConnectionClosed) { |
// Send enough packets so that the next one triggers path MTU discovery. |
for (QuicPacketCount i = 0; i < kPacketsBetweenMtuProbesBase - 1; i++) { |
- SendStreamDataToPeer(3, ".", i, /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, ".", i, NO_FIN, nullptr); |
ASSERT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
} |
- SendStreamDataToPeer(3, "!", kPacketsBetweenMtuProbesBase, |
- /*fin=*/false, nullptr); |
+ SendStreamDataToPeer(3, "!", kPacketsBetweenMtuProbesBase, NO_FIN, nullptr); |
EXPECT_TRUE(connection_.GetMtuDiscoveryAlarm()->IsSet()); |
EXPECT_CALL(visitor_, OnConnectionClosed(_, _, _)); |
@@ -3249,13 +3252,13 @@ TEST_P(QuicConnectionTest, TimeoutAfterSend) { |
// When we send a packet, the timeout will change to 5ms + |
// kInitialIdleTimeoutSecs. |
clock_.AdvanceTime(five_ms); |
- SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, kFin, nullptr); |
+ SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, FIN, nullptr); |
EXPECT_EQ(default_timeout, connection_.GetTimeoutAlarm()->deadline()); |
// Now send more data. This will not move the timeout becase |
// no data has been recieved since the previous write. |
clock_.AdvanceTime(five_ms); |
- SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, kFin, nullptr); |
+ SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, FIN, nullptr); |
EXPECT_EQ(default_timeout, connection_.GetTimeoutAlarm()->deadline()); |
// The original alarm will fire. We should not time out because we had a |
@@ -3304,7 +3307,7 @@ TEST_P(QuicConnectionTest, TimeoutAfterRetransmission) { |
const QuicTime send_time = start_time + five_ms; |
clock_.AdvanceTime(five_ms); |
ASSERT_EQ(send_time, clock_.Now()); |
- SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, kFin, nullptr); |
+ SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, FIN, nullptr); |
EXPECT_EQ(default_timeout, connection_.GetTimeoutAlarm()->deadline()); |
// Move forward 5 ms and receive a packet, which will move the timeout |
@@ -3386,13 +3389,13 @@ TEST_P(QuicConnectionTest, NewTimeoutAfterSendSilentClose) { |
// When we send a packet, the timeout will change to 5ms + |
// kInitialIdleTimeoutSecs. |
clock_.AdvanceTime(five_ms); |
- SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, kFin, nullptr); |
+ SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, FIN, nullptr); |
EXPECT_EQ(default_timeout, connection_.GetTimeoutAlarm()->deadline()); |
// Now send more data. This will not move the timeout becase |
// no data has been recieved since the previous write. |
clock_.AdvanceTime(five_ms); |
- SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, kFin, nullptr); |
+ SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, FIN, nullptr); |
EXPECT_EQ(default_timeout, connection_.GetTimeoutAlarm()->deadline()); |
// The original alarm will fire. We should not time out because we had a |
@@ -3428,9 +3431,9 @@ TEST_P(QuicConnectionTest, TimeoutAfterReceive) { |
const QuicTime::Delta five_ms = QuicTime::Delta::FromMilliseconds(5); |
QuicTime default_timeout = clock_.ApproximateNow() + initial_idle_timeout; |
- connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, !kFin, |
+ connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, NO_FIN, |
nullptr); |
- connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 3, !kFin, |
+ connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 3, NO_FIN, |
nullptr); |
EXPECT_EQ(default_timeout, connection_.GetTimeoutAlarm()->deadline()); |
@@ -3480,10 +3483,10 @@ TEST_P(QuicConnectionTest, TimeoutAfterReceiveNotSendWhenUnacked) { |
QuicTime default_timeout = clock_.ApproximateNow() + initial_idle_timeout; |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)); |
- connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, !kFin, |
+ connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, NO_FIN, |
nullptr); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)); |
- connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 3, !kFin, |
+ connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 3, NO_FIN, |
nullptr); |
EXPECT_EQ(default_timeout, connection_.GetTimeoutAlarm()->deadline()); |
@@ -3513,7 +3516,7 @@ TEST_P(QuicConnectionTest, TimeoutAfterReceiveNotSendWhenUnacked) { |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(AnyNumber()); |
for (int i = 0; i < 100 && connection_.connected(); ++i) { |
QUIC_LOG(INFO) << "sending data packet"; |
- connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, !kFin, |
+ connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, NO_FIN, |
nullptr); |
connection_.GetTimeoutAlarm()->Fire(); |
clock_.AdvanceTime(QuicTime::Delta::FromSeconds(1)); |
@@ -3533,7 +3536,7 @@ TEST_P(QuicConnectionTest, TimeoutAfter5ClientRTOs) { |
connection_.SetFromConfig(config); |
// Send stream data. |
- SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, kFin, nullptr); |
+ SendStreamDataToPeer(kClientDataStreamId1, "foo", 0, FIN, nullptr); |
EXPECT_CALL(visitor_, OnPathDegrading()); |
// Fire the retransmission alarm 6 times, twice for TLP and 4 times for RTO. |
@@ -3596,7 +3599,7 @@ TEST_P(QuicConnectionTest, TestQueueLimitsOnSendStreamData) { |
.WillOnce(testing::Return(QuicTime::Delta::FromMicroseconds(10))); |
const string payload(payload_length, 'a'); |
EXPECT_EQ(0u, |
- connection_.SendStreamDataWithString(3, payload, 0, !kFin, nullptr) |
+ connection_.SendStreamDataWithString(3, payload, 0, NO_FIN, nullptr) |
.bytes_consumed); |
EXPECT_EQ(0u, connection_.NumQueuedPackets()); |
} |
@@ -3621,7 +3624,7 @@ TEST_P(QuicConnectionTest, LoopThroughSendingPackets) { |
// The first stream frame will have 2 fewer overhead bytes than the other six. |
const string payload(payload_length * 7 + 2, 'a'); |
EXPECT_EQ(payload.size(), |
- connection_.SendStreamDataWithString(1, payload, 0, !kFin, nullptr) |
+ connection_.SendStreamDataWithString(1, payload, 0, NO_FIN, nullptr) |
.bytes_consumed); |
} |
@@ -3633,7 +3636,7 @@ TEST_P(QuicConnectionTest, LoopThroughSendingPacketsWithTruncation) { |
// Now send some packets with no truncation. |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(2); |
EXPECT_EQ(payload.size(), |
- connection_.SendStreamDataWithString(3, payload, 0, !kFin, nullptr) |
+ connection_.SendStreamDataWithString(3, payload, 0, NO_FIN, nullptr) |
.bytes_consumed); |
// Track the size of the second packet here. The overhead will be the largest |
// we see in this test, due to the non-truncated connection id. |
@@ -3645,7 +3648,7 @@ TEST_P(QuicConnectionTest, LoopThroughSendingPacketsWithTruncation) { |
connection_.SetFromConfig(config); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(2); |
EXPECT_EQ(payload.size(), |
- connection_.SendStreamDataWithString(3, payload, 0, !kFin, nullptr) |
+ connection_.SendStreamDataWithString(3, payload, 0, NO_FIN, nullptr) |
.bytes_consumed); |
// Just like above, we save 8 bytes on payload, and 8 on truncation. |
EXPECT_EQ(non_truncated_packet_size, writer_->last_packet_size() + 8 * 2); |
@@ -4153,7 +4156,7 @@ TEST_P(QuicConnectionTest, NoAckOnOldNacks) { |
TEST_P(QuicConnectionTest, SendDelayedAckOnOutgoingPacket) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
ProcessPacket(1); |
- connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, !kFin, |
+ connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, NO_FIN, |
nullptr); |
// Check that ack is bundled with outgoing data and that delayed ack |
// alarm is reset. |
@@ -4171,14 +4174,14 @@ TEST_P(QuicConnectionTest, SendDelayedAckOnOutgoingPacket) { |
TEST_P(QuicConnectionTest, SendDelayedAckOnOutgoingCryptoPacket) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
ProcessPacket(1); |
- connection_.SendStreamDataWithString(kCryptoStreamId, "foo", 0, !kFin, |
+ connection_.SendStreamDataWithString(kCryptoStreamId, "foo", 0, NO_FIN, |
nullptr); |
// Check that ack is bundled with outgoing crypto data. |
if (GetParam().no_stop_waiting) { |
- EXPECT_EQ(2u, writer_->frame_count()); |
+ EXPECT_EQ(3u, writer_->frame_count()); |
EXPECT_TRUE(writer_->stop_waiting_frames().empty()); |
} else { |
- EXPECT_EQ(3u, writer_->frame_count()); |
+ EXPECT_EQ(4u, writer_->frame_count()); |
EXPECT_FALSE(writer_->stop_waiting_frames().empty()); |
} |
EXPECT_FALSE(connection_.GetAckAlarm()->IsSet()); |
@@ -4189,11 +4192,11 @@ TEST_P(QuicConnectionTest, BlockAndBufferOnFirstCHLOPacketOfTwo) { |
ProcessPacket(1); |
BlockOnNextWrite(); |
writer_->set_is_write_blocked_data_buffered(true); |
- connection_.SendStreamDataWithString(kCryptoStreamId, "foo", 0, !kFin, |
+ connection_.SendStreamDataWithString(kCryptoStreamId, "foo", 0, NO_FIN, |
nullptr); |
EXPECT_TRUE(writer_->IsWriteBlocked()); |
EXPECT_FALSE(connection_.HasQueuedData()); |
- connection_.SendStreamDataWithString(kCryptoStreamId, "bar", 3, !kFin, |
+ connection_.SendStreamDataWithString(kCryptoStreamId, "bar", 3, NO_FIN, |
nullptr); |
EXPECT_TRUE(writer_->IsWriteBlocked()); |
EXPECT_TRUE(connection_.HasQueuedData()); |
@@ -4211,13 +4214,14 @@ TEST_P(QuicConnectionTest, BundleAckForSecondCHLO) { |
ProcessPacket(2); |
// Check that ack is sent and that delayed ack alarm is reset. |
if (GetParam().no_stop_waiting) { |
- EXPECT_EQ(2u, writer_->frame_count()); |
+ EXPECT_EQ(3u, writer_->frame_count()); |
EXPECT_TRUE(writer_->stop_waiting_frames().empty()); |
} else { |
- EXPECT_EQ(3u, writer_->frame_count()); |
+ EXPECT_EQ(4u, writer_->frame_count()); |
EXPECT_FALSE(writer_->stop_waiting_frames().empty()); |
} |
EXPECT_EQ(1u, writer_->stream_frames().size()); |
+ EXPECT_EQ(1u, writer_->padding_frames().size()); |
EXPECT_FALSE(writer_->ack_frames().empty()); |
EXPECT_EQ(2u, writer_->ack_frames().front().largest_observed); |
EXPECT_FALSE(connection_.GetAckAlarm()->IsSet()); |
@@ -4239,13 +4243,14 @@ TEST_P(QuicConnectionTest, BundleAckForSecondCHLOTwoPacketReject) { |
} |
// Check that ack is sent and that delayed ack alarm is reset. |
if (GetParam().no_stop_waiting) { |
- EXPECT_EQ(2u, writer_->frame_count()); |
+ EXPECT_EQ(3u, writer_->frame_count()); |
EXPECT_TRUE(writer_->stop_waiting_frames().empty()); |
} else { |
- EXPECT_EQ(3u, writer_->frame_count()); |
+ EXPECT_EQ(4u, writer_->frame_count()); |
EXPECT_FALSE(writer_->stop_waiting_frames().empty()); |
} |
EXPECT_EQ(1u, writer_->stream_frames().size()); |
+ EXPECT_EQ(1u, writer_->padding_frames().size()); |
EXPECT_FALSE(writer_->ack_frames().empty()); |
EXPECT_EQ(2u, writer_->ack_frames().front().largest_observed); |
EXPECT_FALSE(connection_.GetAckAlarm()->IsSet()); |
@@ -4253,9 +4258,9 @@ TEST_P(QuicConnectionTest, BundleAckForSecondCHLOTwoPacketReject) { |
TEST_P(QuicConnectionTest, BundleAckWithDataOnIncomingAck) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
- connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, !kFin, |
+ connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, NO_FIN, |
nullptr); |
- connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 3, !kFin, |
+ connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 3, NO_FIN, |
nullptr); |
// Ack the second packet, which will retransmit the first packet. |
QuicAckFrame ack = InitAckFrame(2); |
@@ -4557,11 +4562,11 @@ TEST_P(QuicConnectionTest, CheckSendStats) { |
connection_.SetMaxTailLossProbes(0); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)); |
- connection_.SendStreamDataWithString(3, "first", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "first", 0, NO_FIN, nullptr); |
size_t first_packet_size = writer_->last_packet_size(); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)); |
- connection_.SendStreamDataWithString(5, "second", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(5, "second", 0, NO_FIN, nullptr); |
size_t second_packet_size = writer_->last_packet_size(); |
// 2 retransmissions due to rto, 1 due to explicit nack. |
@@ -4664,7 +4669,7 @@ TEST_P(QuicConnectionTest, ConnectionCloseWhenWritable) { |
EXPECT_FALSE(writer_->IsWriteBlocked()); |
// Send a packet. |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, nullptr); |
EXPECT_EQ(0u, connection_.NumQueuedPackets()); |
EXPECT_EQ(1u, writer_->packets_write_attempts()); |
@@ -4681,7 +4686,7 @@ TEST_P(QuicConnectionTest, ConnectionCloseGettingWriteBlocked) { |
TEST_P(QuicConnectionTest, ConnectionCloseWhenWriteBlocked) { |
BlockOnNextWrite(); |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, nullptr); |
EXPECT_EQ(1u, connection_.NumQueuedPackets()); |
EXPECT_EQ(1u, writer_->packets_write_attempts()); |
EXPECT_TRUE(writer_->IsWriteBlocked()); |
@@ -4697,7 +4702,7 @@ TEST_P(QuicConnectionTest, AckNotifierTriggerCallback) { |
EXPECT_CALL(*listener, OnPacketAcked(_, _)).Times(1); |
// Send some data, which will register the listener to be notified. |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, listener); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, listener); |
// Process an ACK from the server which should trigger the callback. |
EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _, _)); |
@@ -4714,11 +4719,11 @@ TEST_P(QuicConnectionTest, AckNotifierFailToTriggerCallback) { |
// Send some data, which will register the listener to be notified. This will |
// not be ACKed and so the listener should never be called. |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, listener); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, listener); |
// Send some other data which we will ACK. |
- connection_.SendStreamDataWithString(1, "foo", 0, !kFin, nullptr); |
- connection_.SendStreamDataWithString(1, "bar", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(1, "foo", 0, NO_FIN, nullptr); |
+ connection_.SendStreamDataWithString(1, "bar", 0, NO_FIN, nullptr); |
// Now we receive ACK for packets 2 and 3, but importantly missing packet 1 |
// which we registered to be notified about. |
@@ -4741,10 +4746,10 @@ TEST_P(QuicConnectionTest, AckNotifierCallbackAfterRetransmission) { |
EXPECT_CALL(*listener, OnPacketAcked(3, _)).Times(1); |
// Send four packets, and register to be notified on ACK of packet 2. |
- connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); |
- connection_.SendStreamDataWithString(3, "bar", 0, !kFin, listener); |
- connection_.SendStreamDataWithString(3, "baz", 0, !kFin, nullptr); |
- connection_.SendStreamDataWithString(3, "qux", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", 0, NO_FIN, nullptr); |
+ connection_.SendStreamDataWithString(3, "bar", 0, NO_FIN, listener); |
+ connection_.SendStreamDataWithString(3, "baz", 0, NO_FIN, nullptr); |
+ connection_.SendStreamDataWithString(3, "qux", 0, NO_FIN, nullptr); |
// Now we receive ACK for packets 1, 3, and 4 and lose 2. |
QuicAckFrame frame = InitAckFrame(4); |
@@ -4777,7 +4782,7 @@ TEST_P(QuicConnectionTest, AckNotifierCallbackForAckAfterRTO) { |
QuicTime default_retransmission_time = |
clock_.ApproximateNow() + DefaultRetransmissionTime(); |
- connection_.SendStreamDataWithString(3, "foo", 0, !kFin, listener); |
+ connection_.SendStreamDataWithString(3, "foo", 0, NO_FIN, listener); |
EXPECT_EQ(1u, stop_waiting()->least_unacked); |
EXPECT_EQ(1u, writer_->header().packet_number); |
@@ -4814,10 +4819,10 @@ TEST_P(QuicConnectionTest, AckNotifierCallbackForAckOfNackedPacket) { |
new StrictMock<MockAckListener>()); |
// Send four packets, and register to be notified on ACK of packet 2. |
- connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); |
- connection_.SendStreamDataWithString(3, "bar", 0, !kFin, listener); |
- connection_.SendStreamDataWithString(3, "baz", 0, !kFin, nullptr); |
- connection_.SendStreamDataWithString(3, "qux", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", 0, NO_FIN, nullptr); |
+ connection_.SendStreamDataWithString(3, "bar", 0, NO_FIN, listener); |
+ connection_.SendStreamDataWithString(3, "baz", 0, NO_FIN, nullptr); |
+ connection_.SendStreamDataWithString(3, "qux", 0, NO_FIN, nullptr); |
// Now we receive ACK for packets 1, 3, and 4 and lose 2. |
QuicAckFrame frame = InitAckFrame(4); |
@@ -4908,7 +4913,7 @@ TEST_P(QuicConnectionTest, NoDataNoFin) { |
// Regression test for b/18594622 |
QuicReferenceCountedPointer<MockAckListener> listener(new MockAckListener); |
EXPECT_QUIC_BUG( |
- connection_.SendStreamDataWithString(3, "", 0, !kFin, listener), |
+ connection_.SendStreamDataWithString(3, "", 0, NO_FIN, listener), |
"Attempt to send empty stream frame"); |
} |
@@ -4923,7 +4928,7 @@ TEST_P(QuicConnectionTest, DoNotSendGoAwayTwice) { |
TEST_P(QuicConnectionTest, ReevaluateTimeUntilSendOnAck) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
- connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, !kFin, |
+ connection_.SendStreamDataWithString(kClientDataStreamId1, "foo", 0, NO_FIN, |
nullptr); |
// Evaluate CanWrite, and have it return a non-Zero value. |
@@ -4984,7 +4989,7 @@ TEST_P(QuicConnectionTest, SendingUnencryptedStreamDataFails) { |
_, ConnectionCloseSource::FROM_SELF)); |
struct iovec iov; |
QuicIOVector data_iov(MakeIOVector("", &iov)); |
- EXPECT_QUIC_BUG(connection_.SendStreamData(3, data_iov, 0, kFin, nullptr), |
+ EXPECT_QUIC_BUG(connection_.SendStreamData(3, data_iov, 0, FIN, nullptr), |
"Cannot send stream data without encryption."); |
EXPECT_FALSE(connection_.connected()); |
} |
@@ -4995,7 +5000,7 @@ TEST_P(QuicConnectionTest, OnPathDegrading) { |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillOnce(DoAll(SaveArg<3>(&packet_size), Return(true))); |
- connection_.SendStreamDataWithString(3, "packet", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "packet", 0, NO_FIN, nullptr); |
size_t num_timeouts = |
kMinTimeoutsBeforePathDegrading + |
QuicSentPacketManagerPeer::GetMaxTailLossProbes( |
@@ -5071,7 +5076,7 @@ TEST_P(QuicConnectionTest, CloseConnectionOnPacketTooLarge) { |
EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_PACKET_WRITE_ERROR, _, |
ConnectionCloseSource::FROM_SELF)) |
.Times(1); |
- connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", 0, NO_FIN, nullptr); |
} |
TEST_P(QuicConnectionTest, AlwaysGetPacketTooLarge) { |
@@ -5081,7 +5086,7 @@ TEST_P(QuicConnectionTest, AlwaysGetPacketTooLarge) { |
EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_PACKET_WRITE_ERROR, _, |
ConnectionCloseSource::FROM_SELF)) |
.Times(1); |
- connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", 0, NO_FIN, nullptr); |
} |
// Verify that if connection has no outstanding data, it notifies the send |
@@ -5134,7 +5139,7 @@ TEST_P(QuicConnectionTest, DonotForceSendingAckOnPacketTooLarge) { |
// Simulate data packet causes write error. |
EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_PACKET_WRITE_ERROR, _, _)); |
SimulateNextPacketTooLarge(); |
- connection_.SendStreamDataWithString(3, "foo", 0, !kFin, nullptr); |
+ connection_.SendStreamDataWithString(3, "foo", 0, NO_FIN, nullptr); |
EXPECT_EQ(1u, writer_->frame_count()); |
EXPECT_FALSE(writer_->connection_close_frames().empty()); |
// Ack frame is not bundled in connection close packet. |