| OLD | NEW | 
|    1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #include "net/quic/quic_protocol.h" |    5 #include "net/quic/quic_protocol.h" | 
|    6  |    6  | 
|    7 #include "base/stl_util.h" |    7 #include "base/stl_util.h" | 
|    8 #include "net/quic/quic_utils.h" |    8 #include "net/quic/quic_utils.h" | 
|    9  |    9  | 
|   10 using base::StringPiece; |   10 using base::StringPiece; | 
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  231   } |  231   } | 
|  232   os << ", fec_flag: " << header.fec_flag |  232   os << ", fec_flag: " << header.fec_flag | 
|  233      << ", entropy_flag: " << header.entropy_flag |  233      << ", entropy_flag: " << header.entropy_flag | 
|  234      << ", entropy hash: " << static_cast<int>(header.entropy_hash) |  234      << ", entropy hash: " << static_cast<int>(header.entropy_hash) | 
|  235      << ", sequence_number: " << header.packet_sequence_number |  235      << ", sequence_number: " << header.packet_sequence_number | 
|  236      << ", is_in_fec_group:" << header.is_in_fec_group |  236      << ", is_in_fec_group:" << header.is_in_fec_group | 
|  237      << ", fec_group: " << header.fec_group<< "}\n"; |  237      << ", fec_group: " << header.fec_group<< "}\n"; | 
|  238   return os; |  238   return os; | 
|  239 } |  239 } | 
|  240  |  240  | 
|  241 ReceivedPacketInfo::ReceivedPacketInfo() |  241 bool IsAwaitingPacket(const QuicAckFrame& ack_frame, | 
|  242     : entropy_hash(0), |  | 
|  243       largest_observed(0), |  | 
|  244       delta_time_largest_observed(QuicTime::Delta::Infinite()), |  | 
|  245       is_truncated(false) {} |  | 
|  246  |  | 
|  247 ReceivedPacketInfo::~ReceivedPacketInfo() {} |  | 
|  248  |  | 
|  249 bool IsAwaitingPacket(const ReceivedPacketInfo& received_info, |  | 
|  250                       QuicPacketSequenceNumber sequence_number) { |  242                       QuicPacketSequenceNumber sequence_number) { | 
|  251   return sequence_number > received_info.largest_observed || |  243   return sequence_number > ack_frame.largest_observed || | 
|  252       ContainsKey(received_info.missing_packets, sequence_number); |  244       ContainsKey(ack_frame.missing_packets, sequence_number); | 
|  253 } |  245 } | 
|  254  |  246  | 
|  255 void InsertMissingPacketsBetween(ReceivedPacketInfo* received_info, |  247 void InsertMissingPacketsBetween(QuicAckFrame* ack_frame, | 
|  256                                  QuicPacketSequenceNumber lower, |  248                                  QuicPacketSequenceNumber lower, | 
|  257                                  QuicPacketSequenceNumber higher) { |  249                                  QuicPacketSequenceNumber higher) { | 
|  258   for (QuicPacketSequenceNumber i = lower; i < higher; ++i) { |  250   for (QuicPacketSequenceNumber i = lower; i < higher; ++i) { | 
|  259     received_info->missing_packets.insert(i); |  251     ack_frame->missing_packets.insert(i); | 
|  260   } |  252   } | 
|  261 } |  253 } | 
|  262  |  254  | 
|  263 QuicStopWaitingFrame::QuicStopWaitingFrame() |  255 QuicStopWaitingFrame::QuicStopWaitingFrame() | 
|  264     : entropy_hash(0), |  256     : entropy_hash(0), | 
|  265       least_unacked(0) { |  257       least_unacked(0) { | 
|  266 } |  258 } | 
|  267  |  259  | 
|  268 QuicStopWaitingFrame::~QuicStopWaitingFrame() {} |  260 QuicStopWaitingFrame::~QuicStopWaitingFrame() {} | 
|  269  |  261  | 
|  270 QuicAckFrame::QuicAckFrame() {} |  262 QuicAckFrame::QuicAckFrame() | 
 |  263     : entropy_hash(0), | 
 |  264       largest_observed(0), | 
 |  265       delta_time_largest_observed(QuicTime::Delta::Infinite()), | 
 |  266       is_truncated(false) {} | 
 |  267  | 
 |  268 QuicAckFrame::~QuicAckFrame() {} | 
|  271  |  269  | 
|  272 CongestionFeedbackMessageTCP::CongestionFeedbackMessageTCP() |  270 CongestionFeedbackMessageTCP::CongestionFeedbackMessageTCP() | 
|  273     : receive_window(0) { |  271     : receive_window(0) { | 
|  274 } |  272 } | 
|  275  |  273  | 
|  276 CongestionFeedbackMessageInterArrival::CongestionFeedbackMessageInterArrival() { |  274 CongestionFeedbackMessageInterArrival::CongestionFeedbackMessageInterArrival() { | 
|  277 } |  275 } | 
|  278  |  276  | 
|  279 CongestionFeedbackMessageInterArrival:: |  277 CongestionFeedbackMessageInterArrival:: | 
|  280     ~CongestionFeedbackMessageInterArrival() {} |  278     ~CongestionFeedbackMessageInterArrival() {} | 
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  374 } |  372 } | 
|  375  |  373  | 
|  376 QuicFecData::QuicFecData() : fec_group(0) {} |  374 QuicFecData::QuicFecData() : fec_group(0) {} | 
|  377  |  375  | 
|  378 ostream& operator<<(ostream& os, const QuicStopWaitingFrame& sent_info) { |  376 ostream& operator<<(ostream& os, const QuicStopWaitingFrame& sent_info) { | 
|  379   os << "entropy_hash: " << static_cast<int>(sent_info.entropy_hash) |  377   os << "entropy_hash: " << static_cast<int>(sent_info.entropy_hash) | 
|  380      << " least_unacked: " << sent_info.least_unacked; |  378      << " least_unacked: " << sent_info.least_unacked; | 
|  381   return os; |  379   return os; | 
|  382 } |  380 } | 
|  383  |  381  | 
|  384 ostream& operator<<(ostream& os, const ReceivedPacketInfo& received_info) { |  382 ostream& operator<<(ostream& os, const QuicAckFrame& ack_frame) { | 
|  385   os << "entropy_hash: " << static_cast<int>(received_info.entropy_hash) |  383   os << "entropy_hash: " << static_cast<int>(ack_frame.entropy_hash) | 
|  386      << " is_truncated: " << received_info.is_truncated |  384      << " is_truncated: " << ack_frame.is_truncated | 
|  387      << " largest_observed: " << received_info.largest_observed |  385      << " largest_observed: " << ack_frame.largest_observed | 
|  388      << " delta_time_largest_observed: " |  386      << " delta_time_largest_observed: " | 
|  389      << received_info.delta_time_largest_observed.ToMicroseconds() |  387      << ack_frame.delta_time_largest_observed.ToMicroseconds() | 
|  390      << " missing_packets: [ "; |  388      << " missing_packets: [ "; | 
|  391   for (SequenceNumberSet::const_iterator it = |  389   for (SequenceNumberSet::const_iterator it = ack_frame.missing_packets.begin(); | 
|  392            received_info.missing_packets.begin(); |  390        it != ack_frame.missing_packets.end(); ++it) { | 
|  393        it != received_info.missing_packets.end(); ++it) { |  | 
|  394     os << *it << " "; |  391     os << *it << " "; | 
|  395   } |  392   } | 
|  396   os << " ] revived_packets: [ "; |  393   os << " ] revived_packets: [ "; | 
|  397   for (SequenceNumberSet::const_iterator it = |  394   for (SequenceNumberSet::const_iterator it = ack_frame.revived_packets.begin(); | 
|  398            received_info.revived_packets.begin(); |  395        it != ack_frame.revived_packets.end(); ++it) { | 
|  399        it != received_info.revived_packets.end(); ++it) { |  | 
|  400     os << *it << " "; |  396     os << *it << " "; | 
|  401   } |  397   } | 
|  402   os << " ]"; |  398   os << " ]"; | 
|  403   return os; |  399   return os; | 
|  404 } |  400 } | 
|  405  |  401  | 
|  406 ostream& operator<<(ostream& os, const QuicFrame& frame) { |  402 ostream& operator<<(ostream& os, const QuicFrame& frame) { | 
|  407   switch (frame.type) { |  403   switch (frame.type) { | 
|  408   case PADDING_FRAME: { |  404   case PADDING_FRAME: { | 
|  409       os << "type { PADDING_FRAME } "; |  405       os << "type { PADDING_FRAME } "; | 
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  491 ostream& operator<<(ostream& os, const QuicStreamFrame& stream_frame) { |  487 ostream& operator<<(ostream& os, const QuicStreamFrame& stream_frame) { | 
|  492   os << "stream_id { " << stream_frame.stream_id << " } " |  488   os << "stream_id { " << stream_frame.stream_id << " } " | 
|  493      << "fin { " << stream_frame.fin << " } " |  489      << "fin { " << stream_frame.fin << " } " | 
|  494      << "offset { " << stream_frame.offset << " } " |  490      << "offset { " << stream_frame.offset << " } " | 
|  495      << "data { " |  491      << "data { " | 
|  496      << QuicUtils::StringToHexASCIIDump(*(stream_frame.GetDataAsString())) |  492      << QuicUtils::StringToHexASCIIDump(*(stream_frame.GetDataAsString())) | 
|  497      << " }\n"; |  493      << " }\n"; | 
|  498   return os; |  494   return os; | 
|  499 } |  495 } | 
|  500  |  496  | 
|  501 ostream& operator<<(ostream& os, const QuicAckFrame& ack_frame) { |  | 
|  502   os << "received info { " << ack_frame.received_info << " }\n"; |  | 
|  503   return os; |  | 
|  504 } |  | 
|  505  |  | 
|  506 ostream& operator<<(ostream& os, |  497 ostream& operator<<(ostream& os, | 
|  507                     const QuicCongestionFeedbackFrame& congestion_frame) { |  498                     const QuicCongestionFeedbackFrame& congestion_frame) { | 
|  508   os << "type: " << congestion_frame.type; |  499   os << "type: " << congestion_frame.type; | 
|  509   switch (congestion_frame.type) { |  500   switch (congestion_frame.type) { | 
|  510     case kInterArrival: { |  501     case kInterArrival: { | 
|  511       const CongestionFeedbackMessageInterArrival& inter_arrival = |  502       const CongestionFeedbackMessageInterArrival& inter_arrival = | 
|  512           congestion_frame.inter_arrival; |  503           congestion_frame.inter_arrival; | 
|  513       os << " received packets: [ "; |  504       os << " received packets: [ "; | 
|  514       for (TimeMap::const_iterator it = |  505       for (TimeMap::const_iterator it = | 
|  515                inter_arrival.received_packet_times.begin(); |  506                inter_arrival.received_packet_times.begin(); | 
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  767       sent_time(QuicTime::Zero()), |  758       sent_time(QuicTime::Zero()), | 
|  768       bytes_sent(0), |  759       bytes_sent(0), | 
|  769       nack_count(0), |  760       nack_count(0), | 
|  770       transmission_type(transmission_type), |  761       transmission_type(transmission_type), | 
|  771       all_transmissions(all_transmissions), |  762       all_transmissions(all_transmissions), | 
|  772       in_flight(false) { |  763       in_flight(false) { | 
|  773   all_transmissions->insert(sequence_number); |  764   all_transmissions->insert(sequence_number); | 
|  774 } |  765 } | 
|  775  |  766  | 
|  776 }  // namespace net |  767 }  // namespace net | 
| OLD | NEW |