Index: net/quic/quic_fec_group_test.cc |
=================================================================== |
--- net/quic/quic_fec_group_test.cc (revision 268584) |
+++ net/quic/quic_fec_group_test.cc (working copy) |
@@ -69,17 +69,19 @@ |
QuicFecData fec; |
fec.fec_group = 0; |
fec.redundancy = StringPiece(redundancy.get(), strlen(kData[0])); |
- ASSERT_TRUE(group.UpdateFec(num_packets, fec)); |
+ ASSERT_TRUE(group.UpdateFec(ENCRYPTION_FORWARD_SECURE, num_packets, |
+ fec)); |
} else { |
QuicPacketHeader header; |
header.packet_sequence_number = packet; |
header.entropy_flag = kEntropyFlag[packet]; |
- ASSERT_TRUE(group.Update(header, kData[packet])); |
+ ASSERT_TRUE(group.Update(ENCRYPTION_FORWARD_SECURE, header, |
+ kData[packet])); |
} |
ASSERT_TRUE(group.CanRevive() == (packet == num_packets - 1)); |
} |
} else { |
- // Update the FEC state for each non-lost packet. |
+ // Update the FEC state for each non-lost packet. |
for (size_t packet = 0; packet < num_packets; packet++) { |
if (packet == lost_packet) { |
continue; |
@@ -88,7 +90,8 @@ |
QuicPacketHeader header; |
header.packet_sequence_number = packet; |
header.entropy_flag = kEntropyFlag[packet]; |
- ASSERT_TRUE(group.Update(header, kData[packet])); |
+ ASSERT_TRUE(group.Update(ENCRYPTION_FORWARD_SECURE, header, |
+ kData[packet])); |
ASSERT_FALSE(group.CanRevive()); |
} |
@@ -98,7 +101,8 @@ |
fec.fec_group = 0; |
fec.redundancy = StringPiece(redundancy.get(), strlen(kData[0])); |
- ASSERT_TRUE(group.UpdateFec(num_packets, fec)); |
+ ASSERT_TRUE(group.UpdateFec(ENCRYPTION_FORWARD_SECURE, num_packets, |
+ fec)); |
} |
QuicPacketHeader header; |
char recovered[kMaxPacketSize]; |
@@ -149,14 +153,14 @@ |
QuicPacketHeader header; |
header.packet_sequence_number = 3; |
- group.Update(header, data1); |
+ group.Update(ENCRYPTION_FORWARD_SECURE, header, data1); |
QuicFecData fec; |
fec.fec_group = 1; |
fec.redundancy = redundancy; |
header.packet_sequence_number = 2; |
- ASSERT_FALSE(group.UpdateFec(2, fec)); |
+ ASSERT_FALSE(group.UpdateFec(ENCRYPTION_FORWARD_SECURE, 2, fec)); |
} |
TEST_F(QuicFecGroupTest, ProtectsPacketsBefore) { |
@@ -164,7 +168,7 @@ |
header.packet_sequence_number = 3; |
QuicFecGroup group; |
- ASSERT_TRUE(group.Update(header, kData[0])); |
+ ASSERT_TRUE(group.Update(ENCRYPTION_FORWARD_SECURE, header, kData[0])); |
EXPECT_FALSE(group.ProtectsPacketsBefore(1)); |
EXPECT_FALSE(group.ProtectsPacketsBefore(2)); |
@@ -179,13 +183,13 @@ |
header.packet_sequence_number = 3; |
QuicFecGroup group; |
- ASSERT_TRUE(group.Update(header, kData[0])); |
+ ASSERT_TRUE(group.Update(ENCRYPTION_FORWARD_SECURE, header, kData[0])); |
header.packet_sequence_number = 7; |
- ASSERT_TRUE(group.Update(header, kData[0])); |
+ ASSERT_TRUE(group.Update(ENCRYPTION_FORWARD_SECURE, header, kData[0])); |
header.packet_sequence_number = 5; |
- ASSERT_TRUE(group.Update(header, kData[0])); |
+ ASSERT_TRUE(group.Update(ENCRYPTION_FORWARD_SECURE, header, kData[0])); |
EXPECT_FALSE(group.ProtectsPacketsBefore(1)); |
EXPECT_FALSE(group.ProtectsPacketsBefore(2)); |
@@ -205,7 +209,7 @@ |
fec.redundancy = kData[0]; |
QuicFecGroup group; |
- ASSERT_TRUE(group.UpdateFec(3, fec)); |
+ ASSERT_TRUE(group.UpdateFec(ENCRYPTION_FORWARD_SECURE, 3, fec)); |
EXPECT_FALSE(group.ProtectsPacketsBefore(1)); |
EXPECT_FALSE(group.ProtectsPacketsBefore(2)); |
@@ -215,4 +219,24 @@ |
EXPECT_TRUE(group.ProtectsPacketsBefore(50)); |
} |
+TEST_F(QuicFecGroupTest, EffectiveEncryptionLevel) { |
+ QuicFecGroup group; |
+ EXPECT_EQ(NUM_ENCRYPTION_LEVELS, group.effective_encryption_level()); |
+ |
+ QuicPacketHeader header; |
+ header.packet_sequence_number = 5; |
+ ASSERT_TRUE(group.Update(ENCRYPTION_INITIAL, header, kData[0])); |
+ EXPECT_EQ(ENCRYPTION_INITIAL, group.effective_encryption_level()); |
+ |
+ QuicFecData fec; |
+ fec.fec_group = 0; |
+ fec.redundancy = kData[0]; |
+ ASSERT_TRUE(group.UpdateFec(ENCRYPTION_FORWARD_SECURE, 7, fec)); |
+ EXPECT_EQ(ENCRYPTION_INITIAL, group.effective_encryption_level()); |
+ |
+ header.packet_sequence_number = 3; |
+ ASSERT_TRUE(group.Update(ENCRYPTION_NONE, header, kData[0])); |
+ EXPECT_EQ(ENCRYPTION_NONE, group.effective_encryption_level()); |
+} |
+ |
} // namespace net |