| OLD | NEW |
| 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 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/core/frames/quic_frame.h" | 5 #include "net/quic/core/frames/quic_frame.h" |
| 6 #include "net/quic/platform/api/quic_logging.h" | 6 #include "net/quic/platform/api/quic_logging.h" |
| 7 | 7 |
| 8 using std::string; | 8 using std::string; |
| 9 | 9 |
| 10 namespace net { | 10 namespace net { |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 | 36 |
| 37 QuicFrame::QuicFrame(QuicGoAwayFrame* frame) | 37 QuicFrame::QuicFrame(QuicGoAwayFrame* frame) |
| 38 : type(GOAWAY_FRAME), goaway_frame(frame) {} | 38 : type(GOAWAY_FRAME), goaway_frame(frame) {} |
| 39 | 39 |
| 40 QuicFrame::QuicFrame(QuicWindowUpdateFrame* frame) | 40 QuicFrame::QuicFrame(QuicWindowUpdateFrame* frame) |
| 41 : type(WINDOW_UPDATE_FRAME), window_update_frame(frame) {} | 41 : type(WINDOW_UPDATE_FRAME), window_update_frame(frame) {} |
| 42 | 42 |
| 43 QuicFrame::QuicFrame(QuicBlockedFrame* frame) | 43 QuicFrame::QuicFrame(QuicBlockedFrame* frame) |
| 44 : type(BLOCKED_FRAME), blocked_frame(frame) {} | 44 : type(BLOCKED_FRAME), blocked_frame(frame) {} |
| 45 | 45 |
| 46 QuicFrame::QuicFrame(QuicPathCloseFrame* frame) | |
| 47 : type(PATH_CLOSE_FRAME), path_close_frame(frame) {} | |
| 48 | |
| 49 void DeleteFrames(QuicFrames* frames) { | 46 void DeleteFrames(QuicFrames* frames) { |
| 50 for (QuicFrame& frame : *frames) { | 47 for (QuicFrame& frame : *frames) { |
| 51 switch (frame.type) { | 48 switch (frame.type) { |
| 52 // Frames smaller than a pointer are inlined, so don't need to be deleted. | 49 // Frames smaller than a pointer are inlined, so don't need to be deleted. |
| 53 case PADDING_FRAME: | 50 case PADDING_FRAME: |
| 54 case MTU_DISCOVERY_FRAME: | 51 case MTU_DISCOVERY_FRAME: |
| 55 case PING_FRAME: | 52 case PING_FRAME: |
| 56 break; | 53 break; |
| 57 case STREAM_FRAME: | 54 case STREAM_FRAME: |
| 58 delete frame.stream_frame; | 55 delete frame.stream_frame; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 71 break; | 68 break; |
| 72 case GOAWAY_FRAME: | 69 case GOAWAY_FRAME: |
| 73 delete frame.goaway_frame; | 70 delete frame.goaway_frame; |
| 74 break; | 71 break; |
| 75 case BLOCKED_FRAME: | 72 case BLOCKED_FRAME: |
| 76 delete frame.blocked_frame; | 73 delete frame.blocked_frame; |
| 77 break; | 74 break; |
| 78 case WINDOW_UPDATE_FRAME: | 75 case WINDOW_UPDATE_FRAME: |
| 79 delete frame.window_update_frame; | 76 delete frame.window_update_frame; |
| 80 break; | 77 break; |
| 81 case PATH_CLOSE_FRAME: | |
| 82 delete frame.path_close_frame; | |
| 83 break; | |
| 84 case NUM_FRAME_TYPES: | 78 case NUM_FRAME_TYPES: |
| 85 DCHECK(false) << "Cannot delete type: " << frame.type; | 79 DCHECK(false) << "Cannot delete type: " << frame.type; |
| 86 } | 80 } |
| 87 } | 81 } |
| 88 frames->clear(); | 82 frames->clear(); |
| 89 } | 83 } |
| 90 | 84 |
| 91 void RemoveFramesForStream(QuicFrames* frames, QuicStreamId stream_id) { | 85 void RemoveFramesForStream(QuicFrames* frames, QuicStreamId stream_id) { |
| 92 QuicFrames::iterator it = frames->begin(); | 86 QuicFrames::iterator it = frames->begin(); |
| 93 while (it != frames->end()) { | 87 while (it != frames->end()) { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 break; | 134 break; |
| 141 } | 135 } |
| 142 case PING_FRAME: { | 136 case PING_FRAME: { |
| 143 os << "type { PING_FRAME } "; | 137 os << "type { PING_FRAME } "; |
| 144 break; | 138 break; |
| 145 } | 139 } |
| 146 case MTU_DISCOVERY_FRAME: { | 140 case MTU_DISCOVERY_FRAME: { |
| 147 os << "type { MTU_DISCOVERY_FRAME } "; | 141 os << "type { MTU_DISCOVERY_FRAME } "; |
| 148 break; | 142 break; |
| 149 } | 143 } |
| 150 case PATH_CLOSE_FRAME: { | |
| 151 os << "type { PATH_CLOSE_FRAME } " << *(frame.path_close_frame); | |
| 152 break; | |
| 153 } | |
| 154 default: { | 144 default: { |
| 155 QUIC_LOG(ERROR) << "Unknown frame type: " << frame.type; | 145 QUIC_LOG(ERROR) << "Unknown frame type: " << frame.type; |
| 156 break; | 146 break; |
| 157 } | 147 } |
| 158 } | 148 } |
| 159 return os; | 149 return os; |
| 160 } | 150 } |
| 161 | 151 |
| 162 } // namespace net | 152 } // namespace net |
| OLD | NEW |