summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_fec_group.h
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-09 10:45:41 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-09 10:45:41 +0000
commitbdf2d434f0f0f832237257fe837a24cf4514fdaa (patch)
tree03f08727c56150f40d453204b80c08daefd039e7 /net/quic/quic_fec_group.h
parent70e263e2fbd7c254a0bf462cd8e409a0102eec10 (diff)
downloadchromium_src-bdf2d434f0f0f832237257fe837a24cf4514fdaa.zip
chromium_src-bdf2d434f0f0f832237257fe837a24cf4514fdaa.tar.gz
chromium_src-bdf2d434f0f0f832237257fe837a24cf4514fdaa.tar.bz2
Land Recent QUIC Changes.
Add a LOG(DFATAL) if the sequence number length is too small to fit the least_unacked delta in a QUIC ack frame. Merge internal change: 61228351 https://codereview.chromium.org/156233004/ Change the types of the arguments to two methods in QuicReceivedPacketManager to be more specific. No behavior changes. Merge internal change: 61215502 https://codereview.chromium.org/157803006/ Add convenience version() method to QuicServerSessionTest. Merge internal change: 61210235 https://codereview.chromium.org/158173002/ Add convenience version() method to QuicSessionTest. Merge internal change: 61206589 https://codereview.chromium.org/158063003/ Fix bug in QuicSentPacketManager::ClearPreviousRetransmissions where pending packets were abandoned instead of being kept unacked so they could be detected to be lost. Merge internal change: 61197933 https://codereview.chromium.org/158073007/ Add QUIC_VERSION_15 to add a revived_packets set to replace the deprecated accumulated_number_of_lost_packets field. FEC requires a way to communicate that the peer doesn't need a packet retransmitted, without indicating it's been received to the send algorithm. Merge internal change: 61159374 https://codereview.chromium.org/157403006/ Rename previous_transmissions to all_transmission in the QUIC unacked packet map. Change all_transmission to include all transmissions of a packet, even if there is only one, instead of becoming null. Merge internal change: 61144526 https://codereview.chromium.org/158153002/ Use an alternative fix for OneShotVisitor of CryptoFramer that doesn't require a done() method. Detect an old-style Public Reset packet by checking for a sequence number length of 6 in public flags. This requires updating the expected error details messages in PublicResetPacket unit tests. Merge internal change: 61152017 https://codereview.chromium.org/153993015/ Refactor QuicSentPacketManager::MarkPacketHandled to simplify implementation in preparation for breaking out the unacked packet map. Also fixes a minor bug in which a packet which has been marked for retransmission would still be retransmitted if a previous transmission was acked. Merge internal change: 61139074 https://codereview.chromium.org/137923007/ Doing early validation of quic config, to change a potential crash-during-serving to a crash-on-startup. Changing a serving crash to a start-up crash. Not flag protected Merge internal change: 61136961 https://codereview.chromium.org/157383006/ Remove parity tracking in FEC groups as part of the migration to QUIC_VERSION_15, which does not need it. Merge internal change: 61136827 https://codereview.chromium.org/157913003/ Comment out flaky test expectation while the root cause is investigated. Merge internal change: 61104556 https://codereview.chromium.org/135933005/ QUIC - clean up changes - fixed during merge with internal source code. Merge internal change: 61045294 https://codereview.chromium.org/157403005/ Fix problems with absolute value function. The standard library provides seven absolute value functions.  From C, there is abs, labs, llabs, fabs, fabsf, and fabsl for the types int, long, long long, double, float and long double.  Due to numeric conversions, these functions can accept arguments of any numeric types, silently converting between types.  C++ libraries has std::abs, which provides overloads for all these types, making it a better choice.  The following problems have been observed, along with their fixes: 1) The wrong sized absolute value was used.  Using abs for a long long would cause a cast to int first, resulting in unexpected values outside of the range (INT_MIN, INT_MAX).  Switch to using std::abs 2) Using the wrong type of absolute value function.  Passing a floating point number to an integer absolute value will cause rounding of values, especially important for values close to zero.  Switch to using std::abs 3) Taking the absolute value of an unsigned value.  This usually has no effect, but may have some effects from casting.  Fixed by removing the absolute value function. 4) Attempting to find the absolute difference between two unsigned values.  These were transformed from abs(a - b) to (a > b ? a - b : b - a).  This ternary expression is usually stored in another variable. 5) Accidentally capturing the conditional such as abs(a - b < threshold).  Moving the parentheses over to fix. 6) Some static_casts were used to, such as from uint32 -> int64, to get a signed value in the absolute value. 7) A few types were changed from unsigned to signed. Merge internal change: 61013787 https://codereview.chromium.org/136123012/ Pass the whole QuicRstStreamFrame to OnStreamReset. Preparation for dealing with byte_offset updates that arrive in the RST frame. (minor) QUIC OnStreamReset now takes QuicRstStreamFrame as argument. Merge internal change: 60995908 https://codereview.chromium.org/142373006/ R=rch@chromium.org Review URL: https://codereview.chromium.org/157803007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249994 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_fec_group.h')
-rw-r--r--net/quic/quic_fec_group.h8
1 files changed, 1 insertions, 7 deletions
diff --git a/net/quic/quic_fec_group.h b/net/quic/quic_fec_group.h
index d905d03..f296b9c 100644
--- a/net/quic/quic_fec_group.h
+++ b/net/quic/quic_fec_group.h
@@ -31,7 +31,6 @@ class NET_EXPORT_PRIVATE QuicFecGroup {
// not claim to protect all the packets previously seen in this group.
// |fec_packet_entropy|: XOR of entropy of all packets in the fec group.
bool UpdateFec(QuicPacketSequenceNumber fec_packet_sequence_number,
- bool fec_packet_entropy,
const QuicFecData& fec);
// Returns true if a packet can be revived from this FEC group.
@@ -57,10 +56,6 @@ class NET_EXPORT_PRIVATE QuicFecGroup {
return base::StringPiece(payload_parity_, payload_parity_len_);
}
- bool entropy_parity() const {
- return entropy_parity_;
- }
-
QuicPacketSequenceNumber min_protected_packet() const {
return min_protected_packet_;
}
@@ -70,7 +65,7 @@ class NET_EXPORT_PRIVATE QuicFecGroup {
}
private:
- bool UpdateParity(base::StringPiece payload, bool entropy);
+ bool UpdateParity(base::StringPiece payload);
// Returns the number of missing packets, or size_t max if the number
// of missing packets is not known.
size_t NumMissingPackets() const;
@@ -88,7 +83,6 @@ class NET_EXPORT_PRIVATE QuicFecGroup {
// The cumulative parity calculation of all received packets.
char payload_parity_[kMaxPacketSize];
size_t payload_parity_len_;
- bool entropy_parity_;
DISALLOW_COPY_AND_ASSIGN(QuicFecGroup);
};