OLD | NEW |
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_protocol.h" | 5 #include "net/quic/quic_protocol.h" |
6 | 6 |
7 #include "base/stl_util.h" | 7 #include "base/stl_util.h" |
8 #include "net/quic/quic_flags.h" | 8 #include "net/quic/quic_flags.h" |
9 #include "net/quic/quic_utils.h" | 9 #include "net/quic/quic_utils.h" |
10 | 10 |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
339 | 339 |
340 QuicFrame::QuicFrame(QuicConnectionCloseFrame* frame) | 340 QuicFrame::QuicFrame(QuicConnectionCloseFrame* frame) |
341 : type(CONNECTION_CLOSE_FRAME), connection_close_frame(frame) {} | 341 : type(CONNECTION_CLOSE_FRAME), connection_close_frame(frame) {} |
342 | 342 |
343 QuicFrame::QuicFrame(QuicGoAwayFrame* frame) | 343 QuicFrame::QuicFrame(QuicGoAwayFrame* frame) |
344 : type(GOAWAY_FRAME), goaway_frame(frame) {} | 344 : type(GOAWAY_FRAME), goaway_frame(frame) {} |
345 | 345 |
346 QuicFrame::QuicFrame(QuicWindowUpdateFrame* frame) | 346 QuicFrame::QuicFrame(QuicWindowUpdateFrame* frame) |
347 : type(WINDOW_UPDATE_FRAME), window_update_frame(frame) {} | 347 : type(WINDOW_UPDATE_FRAME), window_update_frame(frame) {} |
348 | 348 |
349 QuicFrame::QuicFrame(QuicBlockedFrame* frame) | 349 QuicFrame::QuicFrame(QuicBlockedFrame frame) |
350 : type(BLOCKED_FRAME), blocked_frame(frame) {} | 350 : type(BLOCKED_FRAME), blocked_frame(frame) {} |
351 | 351 |
352 ostream& operator<<(ostream& os, const QuicStopWaitingFrame& sent_info) { | 352 ostream& operator<<(ostream& os, const QuicStopWaitingFrame& sent_info) { |
353 os << "entropy_hash: " << static_cast<int>(sent_info.entropy_hash) | 353 os << "entropy_hash: " << static_cast<int>(sent_info.entropy_hash) |
354 << " least_unacked: " << sent_info.least_unacked; | 354 << " least_unacked: " << sent_info.least_unacked; |
355 return os; | 355 return os; |
356 } | 356 } |
357 | 357 |
358 PacketNumberQueue::const_iterator::const_iterator( | 358 PacketNumberQueue::const_iterator::const_iterator( |
359 IntervalSet<QuicPacketNumber>::const_iterator interval_set_iter, | 359 IntervalSet<QuicPacketNumber>::const_iterator interval_set_iter, |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
551 } | 551 } |
552 case GOAWAY_FRAME: { | 552 case GOAWAY_FRAME: { |
553 os << "type { GOAWAY_FRAME } " << *(frame.goaway_frame); | 553 os << "type { GOAWAY_FRAME } " << *(frame.goaway_frame); |
554 break; | 554 break; |
555 } | 555 } |
556 case WINDOW_UPDATE_FRAME: { | 556 case WINDOW_UPDATE_FRAME: { |
557 os << "type { WINDOW_UPDATE_FRAME } " << *(frame.window_update_frame); | 557 os << "type { WINDOW_UPDATE_FRAME } " << *(frame.window_update_frame); |
558 break; | 558 break; |
559 } | 559 } |
560 case BLOCKED_FRAME: { | 560 case BLOCKED_FRAME: { |
561 os << "type { BLOCKED_FRAME } " << *(frame.blocked_frame); | 561 os << "type { BLOCKED_FRAME } " << frame.blocked_frame; |
562 break; | 562 break; |
563 } | 563 } |
564 case STREAM_FRAME: { | 564 case STREAM_FRAME: { |
565 os << "type { STREAM_FRAME } " << *(frame.stream_frame); | 565 os << "type { STREAM_FRAME } " << *(frame.stream_frame); |
566 break; | 566 break; |
567 } | 567 } |
568 case ACK_FRAME: { | 568 case ACK_FRAME: { |
569 os << "type { ACK_FRAME } " << *(frame.ack_frame); | 569 os << "type { ACK_FRAME } " << *(frame.ack_frame); |
570 break; | 570 break; |
571 } | 571 } |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
706 frames_.reserve(2); | 706 frames_.reserve(2); |
707 } | 707 } |
708 | 708 |
709 RetransmittableFrames::~RetransmittableFrames() { | 709 RetransmittableFrames::~RetransmittableFrames() { |
710 for (QuicFrame& frame : frames_) { | 710 for (QuicFrame& frame : frames_) { |
711 switch (frame.type) { | 711 switch (frame.type) { |
712 // Frames smaller than a pointer are inlined, so don't need to be deleted. | 712 // Frames smaller than a pointer are inlined, so don't need to be deleted. |
713 case PADDING_FRAME: | 713 case PADDING_FRAME: |
714 case MTU_DISCOVERY_FRAME: | 714 case MTU_DISCOVERY_FRAME: |
715 case PING_FRAME: | 715 case PING_FRAME: |
| 716 case BLOCKED_FRAME: |
716 break; | 717 break; |
717 case STREAM_FRAME: | 718 case STREAM_FRAME: |
718 delete frame.stream_frame; | 719 delete frame.stream_frame; |
719 break; | 720 break; |
720 case ACK_FRAME: | 721 case ACK_FRAME: |
721 delete frame.ack_frame; | 722 delete frame.ack_frame; |
722 break; | 723 break; |
723 case STOP_WAITING_FRAME: | 724 case STOP_WAITING_FRAME: |
724 delete frame.stop_waiting_frame; | 725 delete frame.stop_waiting_frame; |
725 break; | 726 break; |
726 case RST_STREAM_FRAME: | 727 case RST_STREAM_FRAME: |
727 delete frame.rst_stream_frame; | 728 delete frame.rst_stream_frame; |
728 break; | 729 break; |
729 case CONNECTION_CLOSE_FRAME: | 730 case CONNECTION_CLOSE_FRAME: |
730 delete frame.connection_close_frame; | 731 delete frame.connection_close_frame; |
731 break; | 732 break; |
732 case GOAWAY_FRAME: | 733 case GOAWAY_FRAME: |
733 delete frame.goaway_frame; | 734 delete frame.goaway_frame; |
734 break; | 735 break; |
735 case WINDOW_UPDATE_FRAME: | 736 case WINDOW_UPDATE_FRAME: |
736 delete frame.window_update_frame; | 737 delete frame.window_update_frame; |
737 break; | 738 break; |
738 case BLOCKED_FRAME: | |
739 delete frame.blocked_frame; | |
740 break; | |
741 case NUM_FRAME_TYPES: | 739 case NUM_FRAME_TYPES: |
742 DCHECK(false) << "Cannot delete type: " << frame.type; | 740 DCHECK(false) << "Cannot delete type: " << frame.type; |
743 } | 741 } |
744 } | 742 } |
745 } | 743 } |
746 | 744 |
747 const QuicFrame& RetransmittableFrames::AddFrame(const QuicFrame& frame) { | 745 const QuicFrame& RetransmittableFrames::AddFrame(const QuicFrame& frame) { |
748 if (frame.type == STREAM_FRAME && | 746 if (frame.type == STREAM_FRAME && |
749 frame.stream_frame->stream_id == kCryptoStreamId) { | 747 frame.stream_frame->stream_id == kCryptoStreamId) { |
750 has_crypto_handshake_ = IS_HANDSHAKE; | 748 has_crypto_handshake_ = IS_HANDSHAKE; |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
866 transmission_type(transmission_type), | 864 transmission_type(transmission_type), |
867 in_flight(false), | 865 in_flight(false), |
868 is_unackable(false), | 866 is_unackable(false), |
869 is_fec_packet(is_fec_packet), | 867 is_fec_packet(is_fec_packet), |
870 all_transmissions(nullptr), | 868 all_transmissions(nullptr), |
871 retransmission(0) {} | 869 retransmission(0) {} |
872 | 870 |
873 TransmissionInfo::~TransmissionInfo() {} | 871 TransmissionInfo::~TransmissionInfo() {} |
874 | 872 |
875 } // namespace net | 873 } // namespace net |
OLD | NEW |