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

Unified Diff: net/quic/quic_packet_creator.cc

Issue 157803007: Land Recent QUIC Changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: win_x64 compiler error fix Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/quic_packet_creator.h ('k') | net/quic/quic_protocol.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_packet_creator.cc
diff --git a/net/quic/quic_packet_creator.cc b/net/quic/quic_packet_creator.cc
index 419404e4b5ca86a65e6a0a33dc1508ed3a668f83..b39965029134ee14cf06f586c55a8a8bc675c91b 100644
--- a/net/quic/quic_packet_creator.cc
+++ b/net/quic/quic_packet_creator.cc
@@ -89,7 +89,9 @@ bool QuicPacketCreator::ShouldSendFec(bool force_close) const {
}
void QuicPacketCreator::MaybeStartFEC() {
- if (options_.max_packets_per_fec_group > 0 && fec_group_.get() == NULL) {
+ // Don't send FEC until QUIC_VERSION_15.
+ if (framer_->version() > QUIC_VERSION_14 &&
+ options_.max_packets_per_fec_group > 0 && fec_group_.get() == NULL) {
DCHECK(queued_frames_.empty());
// Set the fec group number to the sequence number of the next packet.
fec_group_number_ = sequence_number() + 1;
@@ -315,7 +317,7 @@ SerializedPacket QuicPacketCreator::SerializePacket() {
LOG(DFATAL) << "Attempt to serialize empty packet";
}
QuicPacketHeader header;
- FillPacketHeader(fec_group_number_, false, false, &header);
+ FillPacketHeader(fec_group_number_, false, &header);
MaybeAddPadding();
@@ -351,8 +353,7 @@ SerializedPacket QuicPacketCreator::SerializeFec() {
DCHECK_LT(0u, fec_group_->NumReceivedPackets());
DCHECK_EQ(0u, queued_frames_.size());
QuicPacketHeader header;
- FillPacketHeader(fec_group_number_, true,
- fec_group_->entropy_parity(), &header);
+ FillPacketHeader(fec_group_number_, true, &header);
QuicFecData fec_data;
fec_data.fec_group = fec_group_->min_protected_packet();
fec_data.redundancy = fec_group_->payload_parity();
@@ -392,7 +393,6 @@ QuicEncryptedPacket* QuicPacketCreator::SerializeVersionNegotiationPacket(
void QuicPacketCreator::FillPacketHeader(QuicFecGroupNumber fec_group,
bool fec_flag,
- bool fec_entropy_flag,
QuicPacketHeader* header) {
header->public_header.guid = guid_;
header->public_header.reset_flag = false;
@@ -400,16 +400,7 @@ void QuicPacketCreator::FillPacketHeader(QuicFecGroupNumber fec_group,
header->fec_flag = fec_flag;
header->packet_sequence_number = ++sequence_number_;
header->public_header.sequence_number_length = sequence_number_length_;
-
- bool entropy_flag;
- if (fec_flag) {
- // FEC packets don't have an entropy of their own. Entropy flag for FEC
- // packets is the XOR of entropy of previous packets.
- entropy_flag = fec_entropy_flag;
- } else {
- entropy_flag = random_bool_source_->RandBool();
- }
- header->entropy_flag = entropy_flag;
+ header->entropy_flag = random_bool_source_->RandBool();
header->is_in_fec_group = fec_group == 0 ? NOT_IN_FEC_GROUP : IN_FEC_GROUP;
header->fec_group = fec_group;
}
« no previous file with comments | « net/quic/quic_packet_creator.h ('k') | net/quic/quic_protocol.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698