summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_framer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/quic/quic_framer.cc')
-rw-r--r--net/quic/quic_framer.cc117
1 files changed, 8 insertions, 109 deletions
diff --git a/net/quic/quic_framer.cc b/net/quic/quic_framer.cc
index 027392c..fe70501 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,