OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 // Manages the packet entropy calculation for both sent and received packets | 5 // Manages the packet entropy calculation for both sent and received packets |
6 // for a connection. | 6 // for a connection. |
7 | 7 |
8 #ifndef NET_QUIC_QUIC_RECEIVED_PACKET_MANAGER_H_ | 8 #ifndef NET_QUIC_QUIC_RECEIVED_PACKET_MANAGER_H_ |
9 #define NET_QUIC_QUIC_RECEIVED_PACKET_MANAGER_H_ | 9 #define NET_QUIC_QUIC_RECEIVED_PACKET_MANAGER_H_ |
10 | 10 |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 // Checks whether |sequence_number| is missing and less than largest observed. | 113 // Checks whether |sequence_number| is missing and less than largest observed. |
114 bool IsMissing(QuicPacketSequenceNumber sequence_number); | 114 bool IsMissing(QuicPacketSequenceNumber sequence_number); |
115 | 115 |
116 // Checks if we're still waiting for the packet with |sequence_number|. | 116 // Checks if we're still waiting for the packet with |sequence_number|. |
117 bool IsAwaitingPacket(QuicPacketSequenceNumber sequence_number); | 117 bool IsAwaitingPacket(QuicPacketSequenceNumber sequence_number); |
118 | 118 |
119 // Update the |ack_frame| for an outgoing ack. | 119 // Update the |ack_frame| for an outgoing ack. |
120 void UpdateReceivedPacketInfo(QuicAckFrame* ack_frame, | 120 void UpdateReceivedPacketInfo(QuicAckFrame* ack_frame, |
121 QuicTime approximate_now); | 121 QuicTime approximate_now); |
122 | 122 |
123 // Should be called before sending an ACK packet, to decide if we need | |
124 // to attach a QuicCongestionFeedbackFrame block. | |
125 // Returns false if no QuicCongestionFeedbackFrame block is needed. | |
126 // Otherwise fills in feedback and returns true. | |
127 virtual bool GenerateCongestionFeedback( | |
128 QuicCongestionFeedbackFrame* feedback); | |
129 | |
130 // QuicReceivedEntropyHashCalculatorInterface | 123 // QuicReceivedEntropyHashCalculatorInterface |
131 // Called by QuicFramer, when the outgoing ack gets truncated, to recalculate | 124 // Called by QuicFramer, when the outgoing ack gets truncated, to recalculate |
132 // the received entropy hash for the truncated ack frame. | 125 // the received entropy hash for the truncated ack frame. |
133 QuicPacketEntropyHash EntropyHash( | 126 QuicPacketEntropyHash EntropyHash( |
134 QuicPacketSequenceNumber sequence_number) const override; | 127 QuicPacketSequenceNumber sequence_number) const override; |
135 | 128 |
136 // Updates internal state based on |stop_waiting|. | 129 // Updates internal state based on |stop_waiting|. |
137 void UpdatePacketInformationSentByPeer( | 130 void UpdatePacketInformationSentByPeer( |
138 const QuicStopWaitingFrame& stop_waiting); | 131 const QuicStopWaitingFrame& stop_waiting); |
139 | 132 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 QuicConnectionStats* stats_; | 171 QuicConnectionStats* stats_; |
179 | 172 |
180 PacketTimeList received_packet_times_; | 173 PacketTimeList received_packet_times_; |
181 | 174 |
182 DISALLOW_COPY_AND_ASSIGN(QuicReceivedPacketManager); | 175 DISALLOW_COPY_AND_ASSIGN(QuicReceivedPacketManager); |
183 }; | 176 }; |
184 | 177 |
185 } // namespace net | 178 } // namespace net |
186 | 179 |
187 #endif // NET_QUIC_QUIC_RECEIVED_PACKET_MANAGER_H_ | 180 #endif // NET_QUIC_QUIC_RECEIVED_PACKET_MANAGER_H_ |
OLD | NEW |