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

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

Issue 1247563002: QUIC - reverted the debugging code to find crash in (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 | « no previous file | no next file » | 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 <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 const QuicPacketHeader& header) { 325 const QuicPacketHeader& header) {
326 return header.entropy_flag << (header.packet_sequence_number % 8); 326 return header.entropy_flag << (header.packet_sequence_number % 8);
327 } 327 }
328 328
329 QuicPacket* QuicFramer::BuildDataPacket(const QuicPacketHeader& header, 329 QuicPacket* QuicFramer::BuildDataPacket(const QuicPacketHeader& header,
330 const QuicFrames& frames, 330 const QuicFrames& frames,
331 char* buffer, 331 char* buffer,
332 size_t packet_length) { 332 size_t packet_length) {
333 QuicDataWriter writer(packet_length, buffer); 333 QuicDataWriter writer(packet_length, buffer);
334 if (!AppendPacketHeader(header, &writer)) { 334 if (!AppendPacketHeader(header, &writer)) {
335 // TODO(rtenneti): Revert the CHECKs to LOG(DFATAL). 335 LOG(DFATAL) << "AppendPacketHeader failed";
336 CHECK(false) << "AppendPacketHeader failed";
337 return nullptr; 336 return nullptr;
338 } 337 }
339 338
340 size_t i = 0; 339 size_t i = 0;
341 for (const QuicFrame& frame : frames) { 340 for (const QuicFrame& frame : frames) {
342 // Determine if we should write stream frame length in header. 341 // Determine if we should write stream frame length in header.
343 const bool no_stream_frame_length = 342 const bool no_stream_frame_length =
344 (header.is_in_fec_group == NOT_IN_FEC_GROUP) && 343 (header.is_in_fec_group == NOT_IN_FEC_GROUP) &&
345 (i == frames.size() - 1); 344 (i == frames.size() - 1);
346 if (!AppendTypeByte(frame, no_stream_frame_length, &writer)) { 345 if (!AppendTypeByte(frame, no_stream_frame_length, &writer)) {
347 // TODO(rtenneti): Revert the CHECKs to LOG(DFATAL). 346 LOG(DFATAL) << "AppendTypeByte failed";
348 CHECK(false) << "AppendTypeByte failed";
349 return nullptr; 347 return nullptr;
350 } 348 }
351 349
352 switch (frame.type) { 350 switch (frame.type) {
353 case PADDING_FRAME: 351 case PADDING_FRAME:
354 writer.WritePadding(); 352 writer.WritePadding();
355 break; 353 break;
356 case STREAM_FRAME: 354 case STREAM_FRAME:
357 if (!AppendStreamFrame( 355 if (!AppendStreamFrame(
358 *frame.stream_frame, no_stream_frame_length, &writer)) { 356 *frame.stream_frame, no_stream_frame_length, &writer)) {
359 // TODO(rtenneti): Revert the CHECKs to LOG(DFATAL). 357 LOG(DFATAL) << "AppendStreamFrame failed";
360 CHECK(false) << "AppendStreamFrame failed";
361 return nullptr; 358 return nullptr;
362 } 359 }
363 break; 360 break;
364 case ACK_FRAME: 361 case ACK_FRAME:
365 if (!AppendAckFrameAndTypeByte( 362 if (!AppendAckFrameAndTypeByte(
366 header, *frame.ack_frame, &writer)) { 363 header, *frame.ack_frame, &writer)) {
367 // TODO(rtenneti): Revert the CHECKs to LOG(DFATAL). 364 LOG(DFATAL) << "AppendAckFrameAndTypeByte failed";
368 CHECK(false) << "AppendAckFrameAndTypeByte failed";
369 return nullptr; 365 return nullptr;
370 } 366 }
371 break; 367 break;
372 case STOP_WAITING_FRAME: 368 case STOP_WAITING_FRAME:
373 if (!AppendStopWaitingFrame( 369 if (!AppendStopWaitingFrame(
374 header, *frame.stop_waiting_frame, &writer)) { 370 header, *frame.stop_waiting_frame, &writer)) {
375 // TODO(rtenneti): Revert the CHECKs to LOG(DFATAL). 371 LOG(DFATAL) << "AppendStopWaitingFrame failed";
376 CHECK(false) << "AppendStopWaitingFrame failed";
377 return nullptr; 372 return nullptr;
378 } 373 }
379 break; 374 break;
380 case MTU_DISCOVERY_FRAME: 375 case MTU_DISCOVERY_FRAME:
381 // MTU discovery frames are serialized as ping frames. 376 // MTU discovery frames are serialized as ping frames.
382 case PING_FRAME: 377 case PING_FRAME:
383 // Ping has no payload. 378 // Ping has no payload.
384 break; 379 break;
385 case RST_STREAM_FRAME: 380 case RST_STREAM_FRAME:
386 if (!AppendRstStreamFrame(*frame.rst_stream_frame, &writer)) { 381 if (!AppendRstStreamFrame(*frame.rst_stream_frame, &writer)) {
387 // TODO(rtenneti): Revert the CHECKs to LOG(DFATAL). 382 LOG(DFATAL) << "AppendRstStreamFrame failed";
388 CHECK(false) << "AppendRstStreamFrame failed";
389 return nullptr; 383 return nullptr;
390 } 384 }
391 break; 385 break;
392 case CONNECTION_CLOSE_FRAME: 386 case CONNECTION_CLOSE_FRAME:
393 if (!AppendConnectionCloseFrame( 387 if (!AppendConnectionCloseFrame(
394 *frame.connection_close_frame, &writer)) { 388 *frame.connection_close_frame, &writer)) {
395 // TODO(rtenneti): Revert the CHECKs to LOG(DFATAL). 389 LOG(DFATAL) << "AppendConnectionCloseFrame failed";
396 CHECK(false) << "AppendConnectionCloseFrame failed";
397 return nullptr; 390 return nullptr;
398 } 391 }
399 break; 392 break;
400 case GOAWAY_FRAME: 393 case GOAWAY_FRAME:
401 if (!AppendGoAwayFrame(*frame.goaway_frame, &writer)) { 394 if (!AppendGoAwayFrame(*frame.goaway_frame, &writer)) {
402 // TODO(rtenneti): Revert the CHECKs to LOG(DFATAL). 395 LOG(DFATAL) << "AppendGoAwayFrame failed";
403 CHECK(false) << "AppendGoAwayFrame failed";
404 return nullptr; 396 return nullptr;
405 } 397 }
406 break; 398 break;
407 case WINDOW_UPDATE_FRAME: 399 case WINDOW_UPDATE_FRAME:
408 if (!AppendWindowUpdateFrame(*frame.window_update_frame, &writer)) { 400 if (!AppendWindowUpdateFrame(*frame.window_update_frame, &writer)) {
409 // TODO(rtenneti): Revert the CHECKs to LOG(DFATAL). 401 LOG(DFATAL) << "AppendWindowUpdateFrame failed";
410 CHECK(false) << "AppendWindowUpdateFrame failed";
411 return nullptr; 402 return nullptr;
412 } 403 }
413 break; 404 break;
414 case BLOCKED_FRAME: 405 case BLOCKED_FRAME:
415 if (!AppendBlockedFrame(*frame.blocked_frame, &writer)) { 406 if (!AppendBlockedFrame(*frame.blocked_frame, &writer)) {
416 // TODO(rtenneti): Revert the CHECKs to LOG(DFATAL). 407 LOG(DFATAL) << "AppendBlockedFrame failed";
417 CHECK(false) << "AppendBlockedFrame failed";
418 return nullptr; 408 return nullptr;
419 } 409 }
420 break; 410 break;
421 default: 411 default:
422 RaiseError(QUIC_INVALID_FRAME_DATA); 412 RaiseError(QUIC_INVALID_FRAME_DATA);
423 // TODO(rtenneti): Revert the CHECKs to LOG(DFATAL). 413 LOG(DFATAL) << "QUIC_INVALID_FRAME_DATA";
424 CHECK(false) << "QUIC_INVALID_FRAME_DATA";
425 return nullptr; 414 return nullptr;
426 } 415 }
427 ++i; 416 ++i;
428 } 417 }
429 418
430 QuicPacket* packet = 419 QuicPacket* packet =
431 new QuicPacket(writer.data(), writer.length(), false, 420 new QuicPacket(writer.data(), writer.length(), false,
432 header.public_header.connection_id_length, 421 header.public_header.connection_id_length,
433 header.public_header.version_flag, 422 header.public_header.version_flag,
434 header.public_header.sequence_number_length); 423 header.public_header.sequence_number_length);
(...skipping 1804 matching lines...) Expand 10 before | Expand all | Expand 10 after
2239 bool QuicFramer::RaiseError(QuicErrorCode error) { 2228 bool QuicFramer::RaiseError(QuicErrorCode error) {
2240 DVLOG(1) << "Error: " << QuicUtils::ErrorToString(error) 2229 DVLOG(1) << "Error: " << QuicUtils::ErrorToString(error)
2241 << " detail: " << detailed_error_; 2230 << " detail: " << detailed_error_;
2242 set_error(error); 2231 set_error(error);
2243 visitor_->OnError(this); 2232 visitor_->OnError(this);
2244 reader_.reset(nullptr); 2233 reader_.reset(nullptr);
2245 return false; 2234 return false;
2246 } 2235 }
2247 2236
2248 } // namespace net 2237 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698