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

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

Issue 648933003: Land Recent QUIC Changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge with TOT Created 6 years, 2 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_config_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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 // Interface which gets callbacks from the QuicConnection at interesting 117 // Interface which gets callbacks from the QuicConnection at interesting
118 // points. Implementations must not mutate the state of the connection 118 // points. Implementations must not mutate the state of the connection
119 // as a result of these callbacks. 119 // as a result of these callbacks.
120 class NET_EXPORT_PRIVATE QuicConnectionDebugVisitor 120 class NET_EXPORT_PRIVATE QuicConnectionDebugVisitor
121 : public QuicPacketGenerator::DebugDelegate, 121 : public QuicPacketGenerator::DebugDelegate,
122 public QuicSentPacketManager::DebugDelegate { 122 public QuicSentPacketManager::DebugDelegate {
123 public: 123 public:
124 virtual ~QuicConnectionDebugVisitor() {} 124 virtual ~QuicConnectionDebugVisitor() {}
125 125
126 // Called when a packet has been sent. 126 // Called when a packet has been sent.
127 virtual void OnPacketSent(QuicPacketSequenceNumber sequence_number, 127 virtual void OnPacketSent(const SerializedPacket& serialized_packet,
128 QuicPacketSequenceNumber original_sequence_number, 128 QuicPacketSequenceNumber original_sequence_number,
129 EncryptionLevel level, 129 EncryptionLevel level,
130 TransmissionType transmission_type, 130 TransmissionType transmission_type,
131 const QuicEncryptedPacket& packet, 131 const QuicEncryptedPacket& packet,
132 WriteResult result) {} 132 QuicTime sent_time) {}
133 133
134 // Called when a packet has been received, but before it is 134 // Called when a packet has been received, but before it is
135 // validated or parsed. 135 // validated or parsed.
136 virtual void OnPacketReceived(const IPEndPoint& self_address, 136 virtual void OnPacketReceived(const IPEndPoint& self_address,
137 const IPEndPoint& peer_address, 137 const IPEndPoint& peer_address,
138 const QuicEncryptedPacket& packet) {} 138 const QuicEncryptedPacket& packet) {}
139 139
140 // Called when a packet is received with a connection id that does not 140 // Called when a packet is received with a connection id that does not
141 // match the ID of this connection. 141 // match the ID of this connection.
142 virtual void OnIncorrectConnectionId( 142 virtual void OnIncorrectConnectionId(
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 706
707 // Largest sequence number sent by the peer which had a stop waiting frame. 707 // Largest sequence number sent by the peer which had a stop waiting frame.
708 QuicPacketSequenceNumber largest_seen_packet_with_stop_waiting_; 708 QuicPacketSequenceNumber largest_seen_packet_with_stop_waiting_;
709 709
710 // Collection of packets which were received before encryption was 710 // Collection of packets which were received before encryption was
711 // established, but which could not be decrypted. We buffer these on 711 // established, but which could not be decrypted. We buffer these on
712 // the assumption that they could not be processed because they were 712 // the assumption that they could not be processed because they were
713 // sent with the INITIAL encryption and the CHLO message was lost. 713 // sent with the INITIAL encryption and the CHLO message was lost.
714 std::deque<QuicEncryptedPacket*> undecryptable_packets_; 714 std::deque<QuicEncryptedPacket*> undecryptable_packets_;
715 715
716 // Maximum number of undecryptable packets the connection will store.
717 size_t max_undecryptable_packets_;
718
716 // When the version negotiation packet could not be sent because the socket 719 // When the version negotiation packet could not be sent because the socket
717 // was not writable, this is set to true. 720 // was not writable, this is set to true.
718 bool pending_version_negotiation_packet_; 721 bool pending_version_negotiation_packet_;
719 722
720 // When packets could not be sent because the socket was not writable, 723 // When packets could not be sent because the socket was not writable,
721 // they are added to this list. All corresponding frames are in 724 // they are added to this list. All corresponding frames are in
722 // unacked_packets_ if they are to be retransmitted. 725 // unacked_packets_ if they are to be retransmitted.
723 QueuedPacketList queued_packets_; 726 QueuedPacketList queued_packets_;
724 727
725 // Contains the connection close packet if the connection has been closed. 728 // Contains the connection close packet if the connection has been closed.
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
811 // If non-empty this contains the set of versions received in a 814 // If non-empty this contains the set of versions received in a
812 // version negotiation packet. 815 // version negotiation packet.
813 QuicVersionVector server_supported_versions_; 816 QuicVersionVector server_supported_versions_;
814 817
815 DISALLOW_COPY_AND_ASSIGN(QuicConnection); 818 DISALLOW_COPY_AND_ASSIGN(QuicConnection);
816 }; 819 };
817 820
818 } // namespace net 821 } // namespace net
819 822
820 #endif // NET_QUIC_QUIC_CONNECTION_H_ 823 #endif // NET_QUIC_QUIC_CONNECTION_H_
OLDNEW
« no previous file with comments | « net/quic/quic_config_test.cc ('k') | net/quic/quic_connection.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698