| 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/spdy/spdy_protocol.h" | 5 #include "net/spdy/spdy_protocol.h" |
| 6 | 6 |
| 7 namespace net { | 7 namespace net { |
| 8 | 8 |
| 9 SpdyFrameWithNameValueBlockIR::SpdyFrameWithNameValueBlockIR( | 9 SpdyFrameWithNameValueBlockIR::SpdyFrameWithNameValueBlockIR( |
| 10 SpdyStreamId stream_id) : SpdyFrameWithFinIR(stream_id) {} | 10 SpdyStreamId stream_id) : SpdyFrameWithFinIR(stream_id) {} |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 return WINDOW_UPDATE; | 91 return WINDOW_UPDATE; |
| 92 } | 92 } |
| 93 break; | 93 break; |
| 94 case SPDY4: | 94 case SPDY4: |
| 95 case SPDY5: | 95 case SPDY5: |
| 96 switch (frame_type_field) { | 96 switch (frame_type_field) { |
| 97 case 0: | 97 case 0: |
| 98 return DATA; | 98 return DATA; |
| 99 case 1: | 99 case 1: |
| 100 return HEADERS; | 100 return HEADERS; |
| 101 // TODO(hkhalil): Add PRIORITY. | 101 case 2: |
| 102 return PRIORITY; |
| 102 case 3: | 103 case 3: |
| 103 return RST_STREAM; | 104 return RST_STREAM; |
| 104 case 4: | 105 case 4: |
| 105 return SETTINGS; | 106 return SETTINGS; |
| 106 case 5: | 107 case 5: |
| 107 return PUSH_PROMISE; | 108 return PUSH_PROMISE; |
| 108 case 6: | 109 case 6: |
| 109 return PING; | 110 return PING; |
| 110 case 7: | 111 case 7: |
| 111 return GOAWAY; | 112 return GOAWAY; |
| 112 case 8: | 113 case 8: |
| 113 return WINDOW_UPDATE; | 114 return WINDOW_UPDATE; |
| 114 case 9: | 115 case 9: |
| 115 return CONTINUATION; | 116 return CONTINUATION; |
| 116 case 10: | 117 case 10: |
| 118 return ALTSVC; |
| 119 case 11: |
| 117 return BLOCKED; | 120 return BLOCKED; |
| 118 } | 121 } |
| 119 break; | 122 break; |
| 120 } | 123 } |
| 121 | 124 |
| 122 LOG(DFATAL) << "Unhandled frame type " << frame_type_field; | 125 LOG(DFATAL) << "Unhandled frame type " << frame_type_field; |
| 123 return DATA; | 126 return DATA; |
| 124 } | 127 } |
| 125 | 128 |
| 126 int SpdyConstants::SerializeFrameType(SpdyMajorVersion version, | 129 int SpdyConstants::SerializeFrameType(SpdyMajorVersion version, |
| (...skipping 22 matching lines...) Expand all Loading... |
| 149 LOG(DFATAL) << "Serializing unhandled frame type " << frame_type; | 152 LOG(DFATAL) << "Serializing unhandled frame type " << frame_type; |
| 150 return -1; | 153 return -1; |
| 151 } | 154 } |
| 152 case SPDY4: | 155 case SPDY4: |
| 153 case SPDY5: | 156 case SPDY5: |
| 154 switch (frame_type) { | 157 switch (frame_type) { |
| 155 case DATA: | 158 case DATA: |
| 156 return 0; | 159 return 0; |
| 157 case HEADERS: | 160 case HEADERS: |
| 158 return 1; | 161 return 1; |
| 159 // TODO(hkhalil): Add PRIORITY. | 162 case PRIORITY: |
| 163 return 2; |
| 160 case RST_STREAM: | 164 case RST_STREAM: |
| 161 return 3; | 165 return 3; |
| 162 case SETTINGS: | 166 case SETTINGS: |
| 163 return 4; | 167 return 4; |
| 164 case PUSH_PROMISE: | 168 case PUSH_PROMISE: |
| 165 return 5; | 169 return 5; |
| 166 case PING: | 170 case PING: |
| 167 return 6; | 171 return 6; |
| 168 case GOAWAY: | 172 case GOAWAY: |
| 169 return 7; | 173 return 7; |
| 170 case WINDOW_UPDATE: | 174 case WINDOW_UPDATE: |
| 171 return 8; | 175 return 8; |
| 172 case CONTINUATION: | 176 case CONTINUATION: |
| 173 return 9; | 177 return 9; |
| 178 case ALTSVC: |
| 179 return 10; |
| 174 case BLOCKED: | 180 case BLOCKED: |
| 175 return 10; | 181 return 11; |
| 176 default: | 182 default: |
| 177 LOG(DFATAL) << "Serializing unhandled frame type " << frame_type; | 183 LOG(DFATAL) << "Serializing unhandled frame type " << frame_type; |
| 178 return -1; | 184 return -1; |
| 179 } | 185 } |
| 180 } | 186 } |
| 181 | 187 |
| 182 LOG(DFATAL) << "Unhandled SPDY version " << version; | 188 LOG(DFATAL) << "Unhandled SPDY version " << version; |
| 183 return -1; | 189 return -1; |
| 184 } | 190 } |
| 185 | 191 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 202 | 208 |
| 203 return true; | 209 return true; |
| 204 case SPDY4: | 210 case SPDY4: |
| 205 case SPDY5: | 211 case SPDY5: |
| 206 // HEADER_TABLE_SIZE is the first valid setting id. | 212 // HEADER_TABLE_SIZE is the first valid setting id. |
| 207 if (setting_id_field < | 213 if (setting_id_field < |
| 208 SerializeSettingId(version, SETTINGS_HEADER_TABLE_SIZE)) { | 214 SerializeSettingId(version, SETTINGS_HEADER_TABLE_SIZE)) { |
| 209 return false; | 215 return false; |
| 210 } | 216 } |
| 211 | 217 |
| 212 // INITIAL_WINDOW_SIZE is the last valid setting id. | 218 // COMPRESS_DATA is the last valid setting id. |
| 213 if (setting_id_field > | 219 if (setting_id_field > |
| 214 SerializeSettingId(version, SETTINGS_INITIAL_WINDOW_SIZE)) { | 220 SerializeSettingId(version, SETTINGS_COMPRESS_DATA)) { |
| 215 return false; | 221 return false; |
| 216 } | 222 } |
| 217 | 223 |
| 218 return true; | 224 return true; |
| 219 } | 225 } |
| 220 | 226 |
| 221 LOG(DFATAL) << "Unhandled SPDY version " << version; | 227 LOG(DFATAL) << "Unhandled SPDY version " << version; |
| 222 return false; | 228 return false; |
| 223 } | 229 } |
| 224 | 230 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 248 case SPDY5: | 254 case SPDY5: |
| 249 switch (setting_id_field) { | 255 switch (setting_id_field) { |
| 250 case 1: | 256 case 1: |
| 251 return SETTINGS_HEADER_TABLE_SIZE; | 257 return SETTINGS_HEADER_TABLE_SIZE; |
| 252 case 2: | 258 case 2: |
| 253 return SETTINGS_ENABLE_PUSH; | 259 return SETTINGS_ENABLE_PUSH; |
| 254 case 3: | 260 case 3: |
| 255 return SETTINGS_MAX_CONCURRENT_STREAMS; | 261 return SETTINGS_MAX_CONCURRENT_STREAMS; |
| 256 case 4: | 262 case 4: |
| 257 return SETTINGS_INITIAL_WINDOW_SIZE; | 263 return SETTINGS_INITIAL_WINDOW_SIZE; |
| 264 case 5: |
| 265 return SETTINGS_COMPRESS_DATA; |
| 258 } | 266 } |
| 259 break; | 267 break; |
| 260 } | 268 } |
| 261 | 269 |
| 262 LOG(DFATAL) << "Unhandled setting ID " << setting_id_field; | 270 LOG(DFATAL) << "Unhandled setting ID " << setting_id_field; |
| 263 return SETTINGS_UPLOAD_BANDWIDTH; | 271 return SETTINGS_UPLOAD_BANDWIDTH; |
| 264 } | 272 } |
| 265 | 273 |
| 266 int SpdyConstants::SerializeSettingId(SpdyMajorVersion version, | 274 int SpdyConstants::SerializeSettingId(SpdyMajorVersion version, |
| 267 SpdySettingsIds id) { | 275 SpdySettingsIds id) { |
| (...skipping 23 matching lines...) Expand all Loading... |
| 291 case SPDY5: | 299 case SPDY5: |
| 292 switch (id) { | 300 switch (id) { |
| 293 case SETTINGS_HEADER_TABLE_SIZE: | 301 case SETTINGS_HEADER_TABLE_SIZE: |
| 294 return 1; | 302 return 1; |
| 295 case SETTINGS_ENABLE_PUSH: | 303 case SETTINGS_ENABLE_PUSH: |
| 296 return 2; | 304 return 2; |
| 297 case SETTINGS_MAX_CONCURRENT_STREAMS: | 305 case SETTINGS_MAX_CONCURRENT_STREAMS: |
| 298 return 3; | 306 return 3; |
| 299 case SETTINGS_INITIAL_WINDOW_SIZE: | 307 case SETTINGS_INITIAL_WINDOW_SIZE: |
| 300 return 4; | 308 return 4; |
| 309 case SETTINGS_COMPRESS_DATA: |
| 310 return 5; |
| 301 default: | 311 default: |
| 302 LOG(DFATAL) << "Serializing unhandled setting id " << id; | 312 LOG(DFATAL) << "Serializing unhandled setting id " << id; |
| 303 return -1; | 313 return -1; |
| 304 } | 314 } |
| 305 } | 315 } |
| 306 LOG(DFATAL) << "Unhandled SPDY version " << version; | 316 LOG(DFATAL) << "Unhandled SPDY version " << version; |
| 307 return -1; | 317 return -1; |
| 308 } | 318 } |
| 309 | 319 |
| 310 bool SpdyConstants::IsValidRstStreamStatus(SpdyMajorVersion version, | 320 bool SpdyConstants::IsValidRstStreamStatus(SpdyMajorVersion version, |
| (...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 781 } | 791 } |
| 782 | 792 |
| 783 void SpdyPushPromiseIR::Visit(SpdyFrameVisitor* visitor) const { | 793 void SpdyPushPromiseIR::Visit(SpdyFrameVisitor* visitor) const { |
| 784 return visitor->VisitPushPromise(*this); | 794 return visitor->VisitPushPromise(*this); |
| 785 } | 795 } |
| 786 | 796 |
| 787 void SpdyContinuationIR::Visit(SpdyFrameVisitor* visitor) const { | 797 void SpdyContinuationIR::Visit(SpdyFrameVisitor* visitor) const { |
| 788 return visitor->VisitContinuation(*this); | 798 return visitor->VisitContinuation(*this); |
| 789 } | 799 } |
| 790 | 800 |
| 801 SpdyAltSvcIR::SpdyAltSvcIR(SpdyStreamId stream_id) |
| 802 : SpdyFrameWithStreamIdIR(stream_id), |
| 803 max_age_(0), |
| 804 port_(0) {} |
| 805 |
| 806 void SpdyAltSvcIR::Visit(SpdyFrameVisitor* visitor) const { |
| 807 return visitor->VisitAltSvc(*this); |
| 808 } |
| 809 |
| 791 } // namespace net | 810 } // namespace net |
| OLD | NEW |