| 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 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 // Sends a ping, and resets the ping alarm. | 444 // Sends a ping, and resets the ping alarm. |
| 445 void SendPing(); | 445 void SendPing(); |
| 446 | 446 |
| 447 // Sets up a packet with an QuicAckFrame and sends it out. | 447 // Sets up a packet with an QuicAckFrame and sends it out. |
| 448 void SendAck(); | 448 void SendAck(); |
| 449 | 449 |
| 450 // Called when an RTO fires. Resets the retransmission alarm if there are | 450 // Called when an RTO fires. Resets the retransmission alarm if there are |
| 451 // remaining unacked packets. | 451 // remaining unacked packets. |
| 452 void OnRetransmissionTimeout(); | 452 void OnRetransmissionTimeout(); |
| 453 | 453 |
| 454 // Called when a data packet is sent. Starts an alarm if the data sent in |
| 455 // |sequence_number| was FEC protected. |
| 456 void MaybeSetFecAlarm(QuicPacketSequenceNumber sequence_number); |
| 457 |
| 454 // Retransmits all unacked packets with retransmittable frames if | 458 // Retransmits all unacked packets with retransmittable frames if |
| 455 // |retransmission_type| is ALL_UNACKED_PACKETS, otherwise retransmits only | 459 // |retransmission_type| is ALL_UNACKED_PACKETS, otherwise retransmits only |
| 456 // initially encrypted packets. Used when the negotiated protocol version is | 460 // initially encrypted packets. Used when the negotiated protocol version is |
| 457 // different from what was initially assumed and when the initial encryption | 461 // different from what was initially assumed and when the initial encryption |
| 458 // changes. | 462 // changes. |
| 459 void RetransmitUnackedPackets(TransmissionType retransmission_type); | 463 void RetransmitUnackedPackets(TransmissionType retransmission_type); |
| 460 | 464 |
| 461 // Calls |sent_packet_manager_|'s NeuterUnencryptedPackets. Used when the | 465 // Calls |sent_packet_manager_|'s NeuterUnencryptedPackets. Used when the |
| 462 // connection becomes forward secure and hasn't received acks for all packets. | 466 // connection becomes forward secure and hasn't received acks for all packets. |
| 463 void NeuterUnencryptedPackets(); | 467 void NeuterUnencryptedPackets(); |
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 774 scoped_ptr<QuicAlarm> resume_writes_alarm_; | 778 scoped_ptr<QuicAlarm> resume_writes_alarm_; |
| 775 // An alarm that fires when the connection may have timed out. | 779 // An alarm that fires when the connection may have timed out. |
| 776 scoped_ptr<QuicAlarm> timeout_alarm_; | 780 scoped_ptr<QuicAlarm> timeout_alarm_; |
| 777 // An alarm that fires when a ping should be sent. | 781 // An alarm that fires when a ping should be sent. |
| 778 scoped_ptr<QuicAlarm> ping_alarm_; | 782 scoped_ptr<QuicAlarm> ping_alarm_; |
| 779 | 783 |
| 780 QuicConnectionVisitorInterface* visitor_; | 784 QuicConnectionVisitorInterface* visitor_; |
| 781 scoped_ptr<QuicConnectionDebugVisitor> debug_visitor_; | 785 scoped_ptr<QuicConnectionDebugVisitor> debug_visitor_; |
| 782 QuicPacketGenerator packet_generator_; | 786 QuicPacketGenerator packet_generator_; |
| 783 | 787 |
| 788 // An alarm that fires when an FEC packet should be sent. |
| 789 scoped_ptr<QuicAlarm> fec_alarm_; |
| 790 |
| 784 // Network idle time before we kill of this connection. | 791 // Network idle time before we kill of this connection. |
| 785 QuicTime::Delta idle_network_timeout_; | 792 QuicTime::Delta idle_network_timeout_; |
| 786 // Overall connection timeout. | 793 // Overall connection timeout. |
| 787 QuicTime::Delta overall_connection_timeout_; | 794 QuicTime::Delta overall_connection_timeout_; |
| 788 | 795 |
| 789 // Statistics for this session. | 796 // Statistics for this session. |
| 790 QuicConnectionStats stats_; | 797 QuicConnectionStats stats_; |
| 791 | 798 |
| 792 // The time that we got a packet for this connection. | 799 // The time that we got a packet for this connection. |
| 793 // This is used for timeouts, and does not indicate the packet was processed. | 800 // This is used for timeouts, and does not indicate the packet was processed. |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 842 | 849 |
| 843 // True if this is a secure QUIC connection. | 850 // True if this is a secure QUIC connection. |
| 844 bool is_secure_; | 851 bool is_secure_; |
| 845 | 852 |
| 846 DISALLOW_COPY_AND_ASSIGN(QuicConnection); | 853 DISALLOW_COPY_AND_ASSIGN(QuicConnection); |
| 847 }; | 854 }; |
| 848 | 855 |
| 849 } // namespace net | 856 } // namespace net |
| 850 | 857 |
| 851 #endif // NET_QUIC_QUIC_CONNECTION_H_ | 858 #endif // NET_QUIC_QUIC_CONNECTION_H_ |
| OLD | NEW |