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 |