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

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

Issue 198353003: Land Recent QUIC Changes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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 | Annotate | Revision Log
« 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 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 // points. Implementations must not mutate the state of the connection 109 // points. Implementations must not mutate the state of the connection
110 // as a result of these callbacks. 110 // as a result of these callbacks.
111 class NET_EXPORT_PRIVATE QuicConnectionDebugVisitorInterface 111 class NET_EXPORT_PRIVATE QuicConnectionDebugVisitorInterface
112 : public QuicPacketGenerator::DebugDelegateInterface { 112 : public QuicPacketGenerator::DebugDelegateInterface {
113 public: 113 public:
114 virtual ~QuicConnectionDebugVisitorInterface() {} 114 virtual ~QuicConnectionDebugVisitorInterface() {}
115 115
116 // Called when a packet has been sent. 116 // Called when a packet has been sent.
117 virtual void OnPacketSent(QuicPacketSequenceNumber sequence_number, 117 virtual void OnPacketSent(QuicPacketSequenceNumber sequence_number,
118 EncryptionLevel level, 118 EncryptionLevel level,
119 TransmissionType transmission_type,
119 const QuicEncryptedPacket& packet, 120 const QuicEncryptedPacket& packet,
120 WriteResult result) = 0; 121 WriteResult result) {}
121 122
122 // Called when the contents of a packet have been retransmitted as 123 // Called when the contents of a packet have been retransmitted as
123 // a new packet. 124 // a new packet.
124 virtual void OnPacketRetransmitted( 125 virtual void OnPacketRetransmitted(
125 QuicPacketSequenceNumber old_sequence_number, 126 QuicPacketSequenceNumber old_sequence_number,
126 QuicPacketSequenceNumber new_sequence_number) = 0; 127 QuicPacketSequenceNumber new_sequence_number) {}
127 128
128 // Called when a packet has been received, but before it is 129 // Called when a packet has been received, but before it is
129 // validated or parsed. 130 // validated or parsed.
130 virtual void OnPacketReceived(const IPEndPoint& self_address, 131 virtual void OnPacketReceived(const IPEndPoint& self_address,
131 const IPEndPoint& peer_address, 132 const IPEndPoint& peer_address,
132 const QuicEncryptedPacket& packet) = 0; 133 const QuicEncryptedPacket& packet) {}
133 134
134 // Called when the protocol version on the received packet doensn't match 135 // Called when the protocol version on the received packet doensn't match
135 // current protocol version of the connection. 136 // current protocol version of the connection.
136 virtual void OnProtocolVersionMismatch(QuicVersion version) = 0; 137 virtual void OnProtocolVersionMismatch(QuicVersion version) {}
137 138
138 // Called when the complete header of a packet has been parsed. 139 // Called when the complete header of a packet has been parsed.
139 virtual void OnPacketHeader(const QuicPacketHeader& header) = 0; 140 virtual void OnPacketHeader(const QuicPacketHeader& header) {}
140 141
141 // Called when a StreamFrame has been parsed. 142 // Called when a StreamFrame has been parsed.
142 virtual void OnStreamFrame(const QuicStreamFrame& frame) = 0; 143 virtual void OnStreamFrame(const QuicStreamFrame& frame) {}
143 144
144 // Called when a AckFrame has been parsed. 145 // Called when a AckFrame has been parsed.
145 virtual void OnAckFrame(const QuicAckFrame& frame) = 0; 146 virtual void OnAckFrame(const QuicAckFrame& frame) {}
146 147
147 // Called when a CongestionFeedbackFrame has been parsed. 148 // Called when a CongestionFeedbackFrame has been parsed.
148 virtual void OnCongestionFeedbackFrame( 149 virtual void OnCongestionFeedbackFrame(
149 const QuicCongestionFeedbackFrame& frame) = 0; 150 const QuicCongestionFeedbackFrame& frame) {}
150 151
151 // Called when a StopWaitingFrame has been parsed. 152 // Called when a StopWaitingFrame has been parsed.
152 virtual void OnStopWaitingFrame(const QuicStopWaitingFrame& frame) = 0; 153 virtual void OnStopWaitingFrame(const QuicStopWaitingFrame& frame) {}
153 154
154 // Called when a RstStreamFrame has been parsed. 155 // Called when a RstStreamFrame has been parsed.
155 virtual void OnRstStreamFrame(const QuicRstStreamFrame& frame) = 0; 156 virtual void OnRstStreamFrame(const QuicRstStreamFrame& frame) {}
156 157
157 // Called when a ConnectionCloseFrame has been parsed. 158 // Called when a ConnectionCloseFrame has been parsed.
158 virtual void OnConnectionCloseFrame( 159 virtual void OnConnectionCloseFrame(
159 const QuicConnectionCloseFrame& frame) = 0; 160 const QuicConnectionCloseFrame& frame) {}
160 161
161 // Called when a public reset packet has been received. 162 // Called when a public reset packet has been received.
162 virtual void OnPublicResetPacket(const QuicPublicResetPacket& packet) = 0; 163 virtual void OnPublicResetPacket(const QuicPublicResetPacket& packet) {}
163 164
164 // Called when a version negotiation packet has been received. 165 // Called when a version negotiation packet has been received.
165 virtual void OnVersionNegotiationPacket( 166 virtual void OnVersionNegotiationPacket(
166 const QuicVersionNegotiationPacket& packet) = 0; 167 const QuicVersionNegotiationPacket& packet) {}
167 168
168 // Called after a packet has been successfully parsed which results 169 // Called after a packet has been successfully parsed which results
169 // in the revival of a packet via FEC. 170 // in the revival of a packet via FEC.
170 virtual void OnRevivedPacket(const QuicPacketHeader& revived_header, 171 virtual void OnRevivedPacket(const QuicPacketHeader& revived_header,
171 base::StringPiece payload) = 0; 172 base::StringPiece payload) {}
172 }; 173 };
173 174
174 class NET_EXPORT_PRIVATE QuicConnectionHelperInterface { 175 class NET_EXPORT_PRIVATE QuicConnectionHelperInterface {
175 public: 176 public:
176 virtual ~QuicConnectionHelperInterface() {} 177 virtual ~QuicConnectionHelperInterface() {}
177 178
178 // Returns a QuicClock to be used for all time related functions. 179 // Returns a QuicClock to be used for all time related functions.
179 virtual const QuicClock* GetClock() const = 0; 180 virtual const QuicClock* GetClock() const = 0;
180 181
181 // Returns a QuicRandom to be used for all random number related functions. 182 // Returns a QuicRandom to be used for all random number related functions.
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
712 // If non-empty this contains the set of versions received in a 713 // If non-empty this contains the set of versions received in a
713 // version negotiation packet. 714 // version negotiation packet.
714 QuicVersionVector server_supported_versions_; 715 QuicVersionVector server_supported_versions_;
715 716
716 DISALLOW_COPY_AND_ASSIGN(QuicConnection); 717 DISALLOW_COPY_AND_ASSIGN(QuicConnection);
717 }; 718 };
718 719
719 } // namespace net 720 } // namespace net
720 721
721 #endif // NET_QUIC_QUIC_CONNECTION_H_ 722 #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