Index: net/quic/quic_framer.cc |
diff --git a/net/quic/quic_framer.cc b/net/quic/quic_framer.cc |
index 027392c2cbdbc5017a221603e4bddfc7b2fd626d..fe705015c1ed98e677ca81155c5c6e6ba9a58ead 100644 |
--- a/net/quic/quic_framer.cc |
+++ b/net/quic/quic_framer.cc |
@@ -975,16 +975,15 @@ QuicFramer::AckFrameInfo QuicFramer::GetAckFrameInfo( |
*iter == (last_missing + 1)) { |
++cur_range_length; |
} else { |
- ack_info.nack_ranges[last_missing - cur_range_length] |
- = cur_range_length; |
+ ack_info.nack_ranges[last_missing - cur_range_length] = |
+ cur_range_length; |
cur_range_length = 0; |
} |
ack_info.max_delta = max(ack_info.max_delta, *iter - last_missing); |
last_missing = *iter; |
} |
// Include the last nack range. |
- ack_info.nack_ranges[last_missing - cur_range_length] = |
- cur_range_length; |
+ ack_info.nack_ranges[last_missing - cur_range_length] = cur_range_length; |
// Include the range to the largest observed. |
ack_info.max_delta = max(ack_info.max_delta, |
frame.largest_observed - last_missing); |
@@ -1419,53 +1418,8 @@ bool QuicFramer::ProcessQuicCongestionFeedbackFrame( |
switch (frame->type) { |
case kTimestamp: { |
- CongestionFeedbackMessageTimestamp* timestamp = &frame->timestamp; |
- uint8 num_received_packets; |
- if (!reader_->ReadBytes(&num_received_packets, 1)) { |
- set_detailed_error("Unable to read num received packets."); |
- return false; |
- } |
- |
- if (num_received_packets > 0u) { |
- uint64 smallest_received; |
- if (!ProcessPacketSequenceNumber(PACKET_6BYTE_SEQUENCE_NUMBER, |
- &smallest_received)) { |
- set_detailed_error("Unable to read smallest received."); |
- return false; |
- } |
- |
- uint64 time_received_us; |
- if (!reader_->ReadUInt64(&time_received_us)) { |
- set_detailed_error("Unable to read time received."); |
- return false; |
- } |
- QuicTime time_received = creation_time_.Add( |
- QuicTime::Delta::FromMicroseconds(time_received_us)); |
- |
- timestamp->received_packet_times.insert( |
- make_pair(smallest_received, time_received)); |
- |
- for (uint8 i = 0; i < num_received_packets - 1; ++i) { |
- uint16 sequence_delta; |
- if (!reader_->ReadUInt16(&sequence_delta)) { |
- set_detailed_error( |
- "Unable to read sequence delta in received packets."); |
- return false; |
- } |
- |
- int32 time_delta_us; |
- if (!reader_->ReadBytes(&time_delta_us, sizeof(time_delta_us))) { |
- set_detailed_error( |
- "Unable to read time delta in received packets."); |
- return false; |
- } |
- QuicPacketSequenceNumber packet = smallest_received + sequence_delta; |
- timestamp->received_packet_times.insert( |
- make_pair(packet, time_received.Add( |
- QuicTime::Delta::FromMicroseconds(time_delta_us)))); |
- } |
- } |
- break; |
+ set_detailed_error("Timestamp feedback not supported."); |
+ return false; |
} |
case kTCP: { |
CongestionFeedbackMessageTCP* tcp = &frame->tcp; |
@@ -1788,16 +1742,7 @@ size_t QuicFramer::ComputeFrameLength( |
switch (congestion_feedback.type) { |
case kTimestamp: { |
- const CongestionFeedbackMessageTimestamp& timestamp = |
- congestion_feedback.timestamp; |
- len += 1; // Number received packets. |
- if (!timestamp.received_packet_times.empty()) { |
- len += PACKET_6BYTE_SEQUENCE_NUMBER; // Smallest received. |
- len += 8; // Time. |
- // 2 bytes per sequence number delta plus 4 bytes per delta time. |
- len += PACKET_6BYTE_SEQUENCE_NUMBER * |
- (timestamp.received_packet_times.size() - 1); |
- } |
+ set_detailed_error("Timestamp feedback not supported."); |
break; |
} |
case kTCP: |
@@ -2094,7 +2039,8 @@ bool QuicFramer::AppendCongestionFeedbackFrame( |
switch (frame.type) { |
case kTimestamp: { |
- return AppendTimestampFrame(frame, writer); |
+ // Timestamp feedback not supported. |
+ return false; |
} |
case kTCP: { |
const CongestionFeedbackMessageTCP& tcp = frame.tcp; |
@@ -2113,53 +2059,6 @@ bool QuicFramer::AppendCongestionFeedbackFrame( |
return true; |
} |
-bool QuicFramer::AppendTimestampFrame( |
- const QuicCongestionFeedbackFrame& frame, |
- QuicDataWriter* writer) { |
- const CongestionFeedbackMessageTimestamp& timestamp = frame.timestamp; |
- DCHECK_GE(numeric_limits<uint8>::max(), |
- timestamp.received_packet_times.size()); |
- if (timestamp.received_packet_times.size() > numeric_limits<uint8>::max()) { |
- return false; |
- } |
- uint8 num_received_packets = timestamp.received_packet_times.size(); |
- if (!writer->WriteBytes(&num_received_packets, 1)) { |
- return false; |
- } |
- if (num_received_packets > 0) { |
- TimeMap::const_iterator it = timestamp.received_packet_times.begin(); |
- |
- QuicPacketSequenceNumber lowest_sequence = it->first; |
- if (!AppendPacketSequenceNumber(PACKET_6BYTE_SEQUENCE_NUMBER, |
- lowest_sequence, writer)) { |
- return false; |
- } |
- |
- QuicTime lowest_time = it->second; |
- if (!writer->WriteUInt64( |
- lowest_time.Subtract(creation_time_).ToMicroseconds())) { |
- return false; |
- } |
- |
- for (++it; it != timestamp.received_packet_times.end(); ++it) { |
- QuicPacketSequenceNumber sequence_delta = it->first - lowest_sequence; |
- DCHECK_GE(numeric_limits<uint16>::max(), sequence_delta); |
- if (sequence_delta > numeric_limits<uint16>::max()) { |
- return false; |
- } |
- if (!writer->WriteUInt16(static_cast<uint16>(sequence_delta))) { |
- return false; |
- } |
- |
- int32 time_delta_us = it->second.Subtract(lowest_time).ToMicroseconds(); |
- if (!writer->WriteBytes(&time_delta_us, sizeof(time_delta_us))) { |
- return false; |
- } |
- } |
- } |
- return true; |
-} |
- |
bool QuicFramer::AppendStopWaitingFrame( |
const QuicPacketHeader& header, |
const QuicStopWaitingFrame& frame, |