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 // The entity that handles framing writes for a Quic client or server. | 5 // The entity that handles framing writes for a Quic client or server. |
6 // Each QuicSession will have a connection associated with it. | 6 // Each QuicSession will have a connection associated with it. |
7 // | 7 // |
8 // On the server side, the Dispatcher handles the raw reads, and hands off | 8 // On the server side, the Dispatcher handles the raw reads, and hands off |
9 // packets via ProcessUdpPacket for framing and processing. | 9 // packets via ProcessUdpPacket for framing and processing. |
10 // | 10 // |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 | 200 |
201 // Called when a StreamFrame has been parsed. | 201 // Called when a StreamFrame has been parsed. |
202 virtual void OnStreamFrame(const QuicStreamFrame& frame) {} | 202 virtual void OnStreamFrame(const QuicStreamFrame& frame) {} |
203 | 203 |
204 // Called when a AckFrame has been parsed. | 204 // Called when a AckFrame has been parsed. |
205 virtual void OnAckFrame(const QuicAckFrame& frame) {} | 205 virtual void OnAckFrame(const QuicAckFrame& frame) {} |
206 | 206 |
207 // Called when a StopWaitingFrame has been parsed. | 207 // Called when a StopWaitingFrame has been parsed. |
208 virtual void OnStopWaitingFrame(const QuicStopWaitingFrame& frame) {} | 208 virtual void OnStopWaitingFrame(const QuicStopWaitingFrame& frame) {} |
209 | 209 |
| 210 // Called when a QuicPaddingFrame has been parsed. |
| 211 virtual void OnPaddingFrame(const QuicPaddingFrame& frame) {} |
| 212 |
210 // Called when a Ping has been parsed. | 213 // Called when a Ping has been parsed. |
211 virtual void OnPingFrame(const QuicPingFrame& frame) {} | 214 virtual void OnPingFrame(const QuicPingFrame& frame) {} |
212 | 215 |
213 // Called when a GoAway has been parsed. | 216 // Called when a GoAway has been parsed. |
214 virtual void OnGoAwayFrame(const QuicGoAwayFrame& frame) {} | 217 virtual void OnGoAwayFrame(const QuicGoAwayFrame& frame) {} |
215 | 218 |
216 // Called when a RstStreamFrame has been parsed. | 219 // Called when a RstStreamFrame has been parsed. |
217 virtual void OnRstStreamFrame(const QuicRstStreamFrame& frame) {} | 220 virtual void OnRstStreamFrame(const QuicRstStreamFrame& frame) {} |
218 | 221 |
219 // Called when a ConnectionCloseFrame has been parsed. | 222 // Called when a ConnectionCloseFrame has been parsed. |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 void OnVersionNegotiationPacket( | 427 void OnVersionNegotiationPacket( |
425 const QuicVersionNegotiationPacket& packet) override; | 428 const QuicVersionNegotiationPacket& packet) override; |
426 bool OnUnauthenticatedPublicHeader( | 429 bool OnUnauthenticatedPublicHeader( |
427 const QuicPacketPublicHeader& header) override; | 430 const QuicPacketPublicHeader& header) override; |
428 bool OnUnauthenticatedHeader(const QuicPacketHeader& header) override; | 431 bool OnUnauthenticatedHeader(const QuicPacketHeader& header) override; |
429 void OnDecryptedPacket(EncryptionLevel level) override; | 432 void OnDecryptedPacket(EncryptionLevel level) override; |
430 bool OnPacketHeader(const QuicPacketHeader& header) override; | 433 bool OnPacketHeader(const QuicPacketHeader& header) override; |
431 bool OnStreamFrame(const QuicStreamFrame& frame) override; | 434 bool OnStreamFrame(const QuicStreamFrame& frame) override; |
432 bool OnAckFrame(const QuicAckFrame& frame) override; | 435 bool OnAckFrame(const QuicAckFrame& frame) override; |
433 bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override; | 436 bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override; |
| 437 bool OnPaddingFrame(const QuicPaddingFrame& frame) override; |
434 bool OnPingFrame(const QuicPingFrame& frame) override; | 438 bool OnPingFrame(const QuicPingFrame& frame) override; |
435 bool OnRstStreamFrame(const QuicRstStreamFrame& frame) override; | 439 bool OnRstStreamFrame(const QuicRstStreamFrame& frame) override; |
436 bool OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) override; | 440 bool OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) override; |
437 bool OnGoAwayFrame(const QuicGoAwayFrame& frame) override; | 441 bool OnGoAwayFrame(const QuicGoAwayFrame& frame) override; |
438 bool OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) override; | 442 bool OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) override; |
439 bool OnBlockedFrame(const QuicBlockedFrame& frame) override; | 443 bool OnBlockedFrame(const QuicBlockedFrame& frame) override; |
440 bool OnPathCloseFrame(const QuicPathCloseFrame& frame) override; | 444 bool OnPathCloseFrame(const QuicPathCloseFrame& frame) override; |
441 void OnPacketComplete() override; | 445 void OnPacketComplete() override; |
442 | 446 |
443 // QuicPacketGenerator::DelegateInterface | 447 // QuicPacketGenerator::DelegateInterface |
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
925 QuicPacketCount num_retransmittable_packets_received_since_last_ack_sent_; | 929 QuicPacketCount num_retransmittable_packets_received_since_last_ack_sent_; |
926 // Whether there were missing packets in the last sent ack. | 930 // Whether there were missing packets in the last sent ack. |
927 bool last_ack_had_missing_packets_; | 931 bool last_ack_had_missing_packets_; |
928 // How many consecutive packets have arrived without sending an ack. | 932 // How many consecutive packets have arrived without sending an ack. |
929 QuicPacketCount num_packets_received_since_last_ack_sent_; | 933 QuicPacketCount num_packets_received_since_last_ack_sent_; |
930 // Indicates how many consecutive times an ack has arrived which indicates | 934 // Indicates how many consecutive times an ack has arrived which indicates |
931 // the peer needs to stop waiting for some packets. | 935 // the peer needs to stop waiting for some packets. |
932 int stop_waiting_count_; | 936 int stop_waiting_count_; |
933 // Indicates the current ack mode, defaults to acking every 2 packets. | 937 // Indicates the current ack mode, defaults to acking every 2 packets. |
934 AckMode ack_mode_; | 938 AckMode ack_mode_; |
| 939 // The max delay in fraction of min_rtt to use when sending decimated acks. |
| 940 float ack_decimation_delay_; |
935 | 941 |
936 // Indicates the retransmit alarm is going to be set by the | 942 // Indicates the retransmit alarm is going to be set by the |
937 // ScopedRetransmitAlarmDelayer | 943 // ScopedRetransmitAlarmDelayer |
938 bool delay_setting_retransmission_alarm_; | 944 bool delay_setting_retransmission_alarm_; |
939 // Indicates the retransmission alarm needs to be set. | 945 // Indicates the retransmission alarm needs to be set. |
940 bool pending_retransmission_alarm_; | 946 bool pending_retransmission_alarm_; |
941 | 947 |
942 // If true, defer sending data in response to received packets to the | 948 // If true, defer sending data in response to received packets to the |
943 // SendAlarm. | 949 // SendAlarm. |
944 bool defer_send_in_response_to_packets_; | 950 bool defer_send_in_response_to_packets_; |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1046 | 1052 |
1047 // If true, multipath is enabled for this connection. | 1053 // If true, multipath is enabled for this connection. |
1048 bool multipath_enabled_; | 1054 bool multipath_enabled_; |
1049 | 1055 |
1050 DISALLOW_COPY_AND_ASSIGN(QuicConnection); | 1056 DISALLOW_COPY_AND_ASSIGN(QuicConnection); |
1051 }; | 1057 }; |
1052 | 1058 |
1053 } // namespace net | 1059 } // namespace net |
1054 | 1060 |
1055 #endif // NET_QUIC_QUIC_CONNECTION_H_ | 1061 #endif // NET_QUIC_QUIC_CONNECTION_H_ |
OLD | NEW |