Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(576)

Side by Side Diff: net/quic/quic_connection.h

Issue 849123003: Land Recent QUIC Changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed extra blank line Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/quic_ack_notifier_test.cc ('k') | net/quic/quic_connection.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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_
OLDNEW
« no previous file with comments | « net/quic/quic_ack_notifier_test.cc ('k') | net/quic/quic_connection.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698