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

Side by Side Diff: net/quic/quic_framer_test.cc

Issue 667923003: Standardize usage of virtual/override/final in net/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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_dispatcher.cc ('k') | net/quic/quic_headers_stream.h » ('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 #include "net/quic/quic_framer.h" 5 #include "net/quic/quic_framer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 kPrivateFlagsSize; 96 kPrivateFlagsSize;
97 } 97 }
98 98
99 // Index into the message tag of the public reset packet. 99 // Index into the message tag of the public reset packet.
100 // Public resets always have full connection_ids. 100 // Public resets always have full connection_ids.
101 const size_t kPublicResetPacketMessageTagOffset = 101 const size_t kPublicResetPacketMessageTagOffset =
102 kConnectionIdOffset + PACKET_8BYTE_CONNECTION_ID; 102 kConnectionIdOffset + PACKET_8BYTE_CONNECTION_ID;
103 103
104 class TestEncrypter : public QuicEncrypter { 104 class TestEncrypter : public QuicEncrypter {
105 public: 105 public:
106 virtual ~TestEncrypter() {} 106 ~TestEncrypter() override {}
107 virtual bool SetKey(StringPiece key) override { 107 bool SetKey(StringPiece key) override { return true; }
108 return true; 108 bool SetNoncePrefix(StringPiece nonce_prefix) override { return true; }
109 } 109 bool Encrypt(StringPiece nonce,
110 virtual bool SetNoncePrefix(StringPiece nonce_prefix) override { 110 StringPiece associated_data,
111 return true; 111 StringPiece plaintext,
112 } 112 unsigned char* output) override {
113 virtual bool Encrypt(StringPiece nonce,
114 StringPiece associated_data,
115 StringPiece plaintext,
116 unsigned char* output) override {
117 CHECK(false) << "Not implemented"; 113 CHECK(false) << "Not implemented";
118 return false; 114 return false;
119 } 115 }
120 virtual QuicData* EncryptPacket(QuicPacketSequenceNumber sequence_number, 116 QuicData* EncryptPacket(QuicPacketSequenceNumber sequence_number,
121 StringPiece associated_data, 117 StringPiece associated_data,
122 StringPiece plaintext) override { 118 StringPiece plaintext) override {
123 sequence_number_ = sequence_number; 119 sequence_number_ = sequence_number;
124 associated_data_ = associated_data.as_string(); 120 associated_data_ = associated_data.as_string();
125 plaintext_ = plaintext.as_string(); 121 plaintext_ = plaintext.as_string();
126 return new QuicData(plaintext.data(), plaintext.length()); 122 return new QuicData(plaintext.data(), plaintext.length());
127 } 123 }
128 virtual size_t GetKeySize() const override { 124 size_t GetKeySize() const override { return 0; }
129 return 0; 125 size_t GetNoncePrefixSize() const override { return 0; }
130 } 126 size_t GetMaxPlaintextSize(size_t ciphertext_size) const override {
131 virtual size_t GetNoncePrefixSize() const override {
132 return 0;
133 }
134 virtual size_t GetMaxPlaintextSize(size_t ciphertext_size) const override {
135 return ciphertext_size; 127 return ciphertext_size;
136 } 128 }
137 virtual size_t GetCiphertextSize(size_t plaintext_size) const override { 129 size_t GetCiphertextSize(size_t plaintext_size) const override {
138 return plaintext_size; 130 return plaintext_size;
139 } 131 }
140 virtual StringPiece GetKey() const override { 132 StringPiece GetKey() const override { return StringPiece(); }
141 return StringPiece(); 133 StringPiece GetNoncePrefix() const override { return StringPiece(); }
142 }
143 virtual StringPiece GetNoncePrefix() const override {
144 return StringPiece();
145 }
146 QuicPacketSequenceNumber sequence_number_; 134 QuicPacketSequenceNumber sequence_number_;
147 string associated_data_; 135 string associated_data_;
148 string plaintext_; 136 string plaintext_;
149 }; 137 };
150 138
151 class TestDecrypter : public QuicDecrypter { 139 class TestDecrypter : public QuicDecrypter {
152 public: 140 public:
153 virtual ~TestDecrypter() {} 141 ~TestDecrypter() override {}
154 virtual bool SetKey(StringPiece key) override { 142 bool SetKey(StringPiece key) override { return true; }
155 return true; 143 bool SetNoncePrefix(StringPiece nonce_prefix) override { return true; }
156 } 144 bool Decrypt(StringPiece nonce,
157 virtual bool SetNoncePrefix(StringPiece nonce_prefix) override { 145 StringPiece associated_data,
158 return true; 146 StringPiece ciphertext,
159 } 147 unsigned char* output,
160 virtual bool Decrypt(StringPiece nonce, 148 size_t* output_length) override {
161 StringPiece associated_data,
162 StringPiece ciphertext,
163 unsigned char* output,
164 size_t* output_length) override {
165 CHECK(false) << "Not implemented"; 149 CHECK(false) << "Not implemented";
166 return false; 150 return false;
167 } 151 }
168 virtual QuicData* DecryptPacket(QuicPacketSequenceNumber sequence_number, 152 QuicData* DecryptPacket(QuicPacketSequenceNumber sequence_number,
169 StringPiece associated_data, 153 StringPiece associated_data,
170 StringPiece ciphertext) override { 154 StringPiece ciphertext) override {
171 sequence_number_ = sequence_number; 155 sequence_number_ = sequence_number;
172 associated_data_ = associated_data.as_string(); 156 associated_data_ = associated_data.as_string();
173 ciphertext_ = ciphertext.as_string(); 157 ciphertext_ = ciphertext.as_string();
174 return new QuicData(ciphertext.data(), ciphertext.length()); 158 return new QuicData(ciphertext.data(), ciphertext.length());
175 } 159 }
176 virtual StringPiece GetKey() const override { 160 StringPiece GetKey() const override { return StringPiece(); }
177 return StringPiece(); 161 StringPiece GetNoncePrefix() const override { return StringPiece(); }
178 }
179 virtual StringPiece GetNoncePrefix() const override {
180 return StringPiece();
181 }
182 QuicPacketSequenceNumber sequence_number_; 162 QuicPacketSequenceNumber sequence_number_;
183 string associated_data_; 163 string associated_data_;
184 string ciphertext_; 164 string ciphertext_;
185 }; 165 };
186 166
187 class TestQuicVisitor : public ::net::QuicFramerVisitorInterface { 167 class TestQuicVisitor : public ::net::QuicFramerVisitorInterface {
188 public: 168 public:
189 TestQuicVisitor() 169 TestQuicVisitor()
190 : error_count_(0), 170 : error_count_(0),
191 version_mismatch_(0), 171 version_mismatch_(0),
192 packet_count_(0), 172 packet_count_(0),
193 frame_count_(0), 173 frame_count_(0),
194 fec_count_(0), 174 fec_count_(0),
195 complete_packets_(0), 175 complete_packets_(0),
196 revived_packets_(0), 176 revived_packets_(0),
197 accept_packet_(true), 177 accept_packet_(true),
198 accept_public_header_(true) { 178 accept_public_header_(true) {
199 } 179 }
200 180
201 virtual ~TestQuicVisitor() { 181 ~TestQuicVisitor() override {
202 STLDeleteElements(&stream_frames_); 182 STLDeleteElements(&stream_frames_);
203 STLDeleteElements(&ack_frames_); 183 STLDeleteElements(&ack_frames_);
204 STLDeleteElements(&congestion_feedback_frames_); 184 STLDeleteElements(&congestion_feedback_frames_);
205 STLDeleteElements(&stop_waiting_frames_); 185 STLDeleteElements(&stop_waiting_frames_);
206 STLDeleteElements(&ping_frames_); 186 STLDeleteElements(&ping_frames_);
207 STLDeleteElements(&fec_data_); 187 STLDeleteElements(&fec_data_);
208 } 188 }
209 189
210 virtual void OnError(QuicFramer* f) override { 190 void OnError(QuicFramer* f) override {
211 DVLOG(1) << "QuicFramer Error: " << QuicUtils::ErrorToString(f->error()) 191 DVLOG(1) << "QuicFramer Error: " << QuicUtils::ErrorToString(f->error())
212 << " (" << f->error() << ")"; 192 << " (" << f->error() << ")";
213 ++error_count_; 193 ++error_count_;
214 } 194 }
215 195
216 virtual void OnPacket() override {} 196 void OnPacket() override {}
217 197
218 virtual void OnPublicResetPacket( 198 void OnPublicResetPacket(const QuicPublicResetPacket& packet) override {
219 const QuicPublicResetPacket& packet) override {
220 public_reset_packet_.reset(new QuicPublicResetPacket(packet)); 199 public_reset_packet_.reset(new QuicPublicResetPacket(packet));
221 } 200 }
222 201
223 virtual void OnVersionNegotiationPacket( 202 void OnVersionNegotiationPacket(
224 const QuicVersionNegotiationPacket& packet) override { 203 const QuicVersionNegotiationPacket& packet) override {
225 version_negotiation_packet_.reset(new QuicVersionNegotiationPacket(packet)); 204 version_negotiation_packet_.reset(new QuicVersionNegotiationPacket(packet));
226 } 205 }
227 206
228 virtual void OnRevivedPacket() override { 207 void OnRevivedPacket() override { ++revived_packets_; }
229 ++revived_packets_;
230 }
231 208
232 virtual bool OnProtocolVersionMismatch(QuicVersion version) override { 209 bool OnProtocolVersionMismatch(QuicVersion version) override {
233 DVLOG(1) << "QuicFramer Version Mismatch, version: " << version; 210 DVLOG(1) << "QuicFramer Version Mismatch, version: " << version;
234 ++version_mismatch_; 211 ++version_mismatch_;
235 return true; 212 return true;
236 } 213 }
237 214
238 virtual bool OnUnauthenticatedPublicHeader( 215 bool OnUnauthenticatedPublicHeader(
239 const QuicPacketPublicHeader& header) override { 216 const QuicPacketPublicHeader& header) override {
240 public_header_.reset(new QuicPacketPublicHeader(header)); 217 public_header_.reset(new QuicPacketPublicHeader(header));
241 return accept_public_header_; 218 return accept_public_header_;
242 } 219 }
243 220
244 virtual bool OnUnauthenticatedHeader( 221 bool OnUnauthenticatedHeader(const QuicPacketHeader& header) override {
245 const QuicPacketHeader& header) override {
246 return true; 222 return true;
247 } 223 }
248 224
249 virtual void OnDecryptedPacket(EncryptionLevel level) override {} 225 void OnDecryptedPacket(EncryptionLevel level) override {}
250 226
251 virtual bool OnPacketHeader(const QuicPacketHeader& header) override { 227 bool OnPacketHeader(const QuicPacketHeader& header) override {
252 ++packet_count_; 228 ++packet_count_;
253 header_.reset(new QuicPacketHeader(header)); 229 header_.reset(new QuicPacketHeader(header));
254 return accept_packet_; 230 return accept_packet_;
255 } 231 }
256 232
257 virtual bool OnStreamFrame(const QuicStreamFrame& frame) override { 233 bool OnStreamFrame(const QuicStreamFrame& frame) override {
258 ++frame_count_; 234 ++frame_count_;
259 stream_frames_.push_back(new QuicStreamFrame(frame)); 235 stream_frames_.push_back(new QuicStreamFrame(frame));
260 return true; 236 return true;
261 } 237 }
262 238
263 virtual void OnFecProtectedPayload(StringPiece payload) override { 239 void OnFecProtectedPayload(StringPiece payload) override {
264 fec_protected_payload_ = payload.as_string(); 240 fec_protected_payload_ = payload.as_string();
265 } 241 }
266 242
267 virtual bool OnAckFrame(const QuicAckFrame& frame) override { 243 bool OnAckFrame(const QuicAckFrame& frame) override {
268 ++frame_count_; 244 ++frame_count_;
269 ack_frames_.push_back(new QuicAckFrame(frame)); 245 ack_frames_.push_back(new QuicAckFrame(frame));
270 return true; 246 return true;
271 } 247 }
272 248
273 virtual bool OnCongestionFeedbackFrame( 249 bool OnCongestionFeedbackFrame(
274 const QuicCongestionFeedbackFrame& frame) override { 250 const QuicCongestionFeedbackFrame& frame) override {
275 ++frame_count_; 251 ++frame_count_;
276 congestion_feedback_frames_.push_back( 252 congestion_feedback_frames_.push_back(
277 new QuicCongestionFeedbackFrame(frame)); 253 new QuicCongestionFeedbackFrame(frame));
278 return true; 254 return true;
279 } 255 }
280 256
281 virtual bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override { 257 bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override {
282 ++frame_count_; 258 ++frame_count_;
283 stop_waiting_frames_.push_back(new QuicStopWaitingFrame(frame)); 259 stop_waiting_frames_.push_back(new QuicStopWaitingFrame(frame));
284 return true; 260 return true;
285 } 261 }
286 262
287 virtual bool OnPingFrame(const QuicPingFrame& frame) override { 263 bool OnPingFrame(const QuicPingFrame& frame) override {
288 ++frame_count_; 264 ++frame_count_;
289 ping_frames_.push_back(new QuicPingFrame(frame)); 265 ping_frames_.push_back(new QuicPingFrame(frame));
290 return true; 266 return true;
291 } 267 }
292 268
293 virtual void OnFecData(const QuicFecData& fec) override { 269 void OnFecData(const QuicFecData& fec) override {
294 ++fec_count_; 270 ++fec_count_;
295 fec_data_.push_back(new QuicFecData(fec)); 271 fec_data_.push_back(new QuicFecData(fec));
296 } 272 }
297 273
298 virtual void OnPacketComplete() override { 274 void OnPacketComplete() override { ++complete_packets_; }
299 ++complete_packets_;
300 }
301 275
302 virtual bool OnRstStreamFrame(const QuicRstStreamFrame& frame) override { 276 bool OnRstStreamFrame(const QuicRstStreamFrame& frame) override {
303 rst_stream_frame_ = frame; 277 rst_stream_frame_ = frame;
304 return true; 278 return true;
305 } 279 }
306 280
307 virtual bool OnConnectionCloseFrame( 281 bool OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) override {
308 const QuicConnectionCloseFrame& frame) override {
309 connection_close_frame_ = frame; 282 connection_close_frame_ = frame;
310 return true; 283 return true;
311 } 284 }
312 285
313 virtual bool OnGoAwayFrame(const QuicGoAwayFrame& frame) override { 286 bool OnGoAwayFrame(const QuicGoAwayFrame& frame) override {
314 goaway_frame_ = frame; 287 goaway_frame_ = frame;
315 return true; 288 return true;
316 } 289 }
317 290
318 virtual bool OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) 291 bool OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) override {
319 override {
320 window_update_frame_ = frame; 292 window_update_frame_ = frame;
321 return true; 293 return true;
322 } 294 }
323 295
324 virtual bool OnBlockedFrame(const QuicBlockedFrame& frame) override { 296 bool OnBlockedFrame(const QuicBlockedFrame& frame) override {
325 blocked_frame_ = frame; 297 blocked_frame_ = frame;
326 return true; 298 return true;
327 } 299 }
328 300
329 // Counters from the visitor_ callbacks. 301 // Counters from the visitor_ callbacks.
330 int error_count_; 302 int error_count_;
331 int version_mismatch_; 303 int version_mismatch_;
332 int packet_count_; 304 int packet_count_;
333 int frame_count_; 305 int frame_count_;
334 int fec_count_; 306 int fec_count_;
(...skipping 4722 matching lines...) Expand 10 before | Expand all | Expand 10 after
5057 EXPECT_CALL(visitor, OnPacketComplete()); 5029 EXPECT_CALL(visitor, OnPacketComplete());
5058 EXPECT_CALL(visitor, OnUnauthenticatedPublicHeader(_)).WillOnce(Return(true)); 5030 EXPECT_CALL(visitor, OnUnauthenticatedPublicHeader(_)).WillOnce(Return(true));
5059 5031
5060 QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false); 5032 QuicEncryptedPacket encrypted(AsChars(packet), arraysize(packet), false);
5061 EXPECT_TRUE(framer_.ProcessPacket(encrypted)); 5033 EXPECT_TRUE(framer_.ProcessPacket(encrypted));
5062 EXPECT_EQ(QUIC_NO_ERROR, framer_.error()); 5034 EXPECT_EQ(QUIC_NO_ERROR, framer_.error());
5063 } 5035 }
5064 5036
5065 } // namespace test 5037 } // namespace test
5066 } // namespace net 5038 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_dispatcher.cc ('k') | net/quic/quic_headers_stream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698