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

Side by Side Diff: net/spdy/spdy_protocol.cc

Issue 1561203003: Remove SPDY/2 code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
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/spdy/spdy_protocol.h" 5 #include "net/spdy/spdy_protocol.h"
6 6
7 namespace net { 7 namespace net {
8 8
9 bool SpdyConstants::IsValidFrameType(SpdyMajorVersion version, 9 bool SpdyConstants::IsValidFrameType(SpdyMajorVersion version,
10 int frame_type_field) { 10 int frame_type_field) {
11 switch (version) { 11 switch (version) {
12 case SPDY2:
13 case SPDY3: 12 case SPDY3:
14 // SYN_STREAM is the first valid frame. 13 // SYN_STREAM is the first valid frame.
15 if (frame_type_field < SerializeFrameType(version, SYN_STREAM)) { 14 if (frame_type_field < SerializeFrameType(version, SYN_STREAM)) {
16 return false; 15 return false;
17 } 16 }
18 17
19 // WINDOW_UPDATE is the last valid frame. 18 // WINDOW_UPDATE is the last valid frame.
20 if (frame_type_field > SerializeFrameType(version, WINDOW_UPDATE)) { 19 if (frame_type_field > SerializeFrameType(version, WINDOW_UPDATE)) {
21 return false; 20 return false;
22 } 21 }
(...skipping 19 matching lines...) Expand all
42 return true; 41 return true;
43 } 42 }
44 43
45 LOG(DFATAL) << "Unhandled SPDY version " << version; 44 LOG(DFATAL) << "Unhandled SPDY version " << version;
46 return false; 45 return false;
47 } 46 }
48 47
49 SpdyFrameType SpdyConstants::ParseFrameType(SpdyMajorVersion version, 48 SpdyFrameType SpdyConstants::ParseFrameType(SpdyMajorVersion version,
50 int frame_type_field) { 49 int frame_type_field) {
51 switch (version) { 50 switch (version) {
52 case SPDY2:
53 case SPDY3: 51 case SPDY3:
54 switch (frame_type_field) { 52 switch (frame_type_field) {
55 case 1: 53 case 1:
56 return SYN_STREAM; 54 return SYN_STREAM;
57 case 2: 55 case 2:
58 return SYN_REPLY; 56 return SYN_REPLY;
59 case 3: 57 case 3:
60 return RST_STREAM; 58 return RST_STREAM;
61 case 4: 59 case 4:
62 return SETTINGS; 60 return SETTINGS;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 break; 98 break;
101 } 99 }
102 100
103 LOG(DFATAL) << "Unhandled frame type " << frame_type_field; 101 LOG(DFATAL) << "Unhandled frame type " << frame_type_field;
104 return DATA; 102 return DATA;
105 } 103 }
106 104
107 int SpdyConstants::SerializeFrameType(SpdyMajorVersion version, 105 int SpdyConstants::SerializeFrameType(SpdyMajorVersion version,
108 SpdyFrameType frame_type) { 106 SpdyFrameType frame_type) {
109 switch (version) { 107 switch (version) {
110 case SPDY2:
111 case SPDY3: 108 case SPDY3:
112 switch (frame_type) { 109 switch (frame_type) {
113 case SYN_STREAM: 110 case SYN_STREAM:
114 return 1; 111 return 1;
115 case SYN_REPLY: 112 case SYN_REPLY:
116 return 2; 113 return 2;
117 case RST_STREAM: 114 case RST_STREAM:
118 return 3; 115 return 3;
119 case SETTINGS: 116 case SETTINGS:
120 return 4; 117 return 4;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 return -1; 159 return -1;
163 } 160 }
164 } 161 }
165 162
166 LOG(DFATAL) << "Unhandled SPDY version " << version; 163 LOG(DFATAL) << "Unhandled SPDY version " << version;
167 return -1; 164 return -1;
168 } 165 }
169 166
170 int SpdyConstants::DataFrameType(SpdyMajorVersion version) { 167 int SpdyConstants::DataFrameType(SpdyMajorVersion version) {
171 switch (version) { 168 switch (version) {
172 case SPDY2:
173 case SPDY3: 169 case SPDY3:
174 return 0; 170 return 0;
175 case HTTP2: 171 case HTTP2:
176 return SerializeFrameType(version, DATA); 172 return SerializeFrameType(version, DATA);
177 } 173 }
178 174
179 LOG(DFATAL) << "Unhandled SPDY version " << version; 175 LOG(DFATAL) << "Unhandled SPDY version " << version;
180 return 0; 176 return 0;
181 } 177 }
182 178
183 bool SpdyConstants::IsValidSettingId(SpdyMajorVersion version, 179 bool SpdyConstants::IsValidSettingId(SpdyMajorVersion version,
184 int setting_id_field) { 180 int setting_id_field) {
185 switch (version) { 181 switch (version) {
186 case SPDY2:
187 case SPDY3: 182 case SPDY3:
188 // UPLOAD_BANDWIDTH is the first valid setting id. 183 // UPLOAD_BANDWIDTH is the first valid setting id.
189 if (setting_id_field < 184 if (setting_id_field <
190 SerializeSettingId(version, SETTINGS_UPLOAD_BANDWIDTH)) { 185 SerializeSettingId(version, SETTINGS_UPLOAD_BANDWIDTH)) {
191 return false; 186 return false;
192 } 187 }
193 188
194 // INITIAL_WINDOW_SIZE is the last valid setting id. 189 // INITIAL_WINDOW_SIZE is the last valid setting id.
195 if (setting_id_field > 190 if (setting_id_field >
196 SerializeSettingId(version, SETTINGS_INITIAL_WINDOW_SIZE)) { 191 SerializeSettingId(version, SETTINGS_INITIAL_WINDOW_SIZE)) {
(...skipping 17 matching lines...) Expand all
214 return true; 209 return true;
215 } 210 }
216 211
217 LOG(DFATAL) << "Unhandled SPDY version " << version; 212 LOG(DFATAL) << "Unhandled SPDY version " << version;
218 return false; 213 return false;
219 } 214 }
220 215
221 SpdySettingsIds SpdyConstants::ParseSettingId(SpdyMajorVersion version, 216 SpdySettingsIds SpdyConstants::ParseSettingId(SpdyMajorVersion version,
222 int setting_id_field) { 217 int setting_id_field) {
223 switch (version) { 218 switch (version) {
224 case SPDY2:
225 case SPDY3: 219 case SPDY3:
226 switch (setting_id_field) { 220 switch (setting_id_field) {
227 case 1: 221 case 1:
228 return SETTINGS_UPLOAD_BANDWIDTH; 222 return SETTINGS_UPLOAD_BANDWIDTH;
229 case 2: 223 case 2:
230 return SETTINGS_DOWNLOAD_BANDWIDTH; 224 return SETTINGS_DOWNLOAD_BANDWIDTH;
231 case 3: 225 case 3:
232 return SETTINGS_ROUND_TRIP_TIME; 226 return SETTINGS_ROUND_TRIP_TIME;
233 case 4: 227 case 4:
234 return SETTINGS_MAX_CONCURRENT_STREAMS; 228 return SETTINGS_MAX_CONCURRENT_STREAMS;
(...skipping 23 matching lines...) Expand all
258 break; 252 break;
259 } 253 }
260 254
261 LOG(DFATAL) << "Unhandled setting ID " << setting_id_field; 255 LOG(DFATAL) << "Unhandled setting ID " << setting_id_field;
262 return SETTINGS_UPLOAD_BANDWIDTH; 256 return SETTINGS_UPLOAD_BANDWIDTH;
263 } 257 }
264 258
265 int SpdyConstants::SerializeSettingId(SpdyMajorVersion version, 259 int SpdyConstants::SerializeSettingId(SpdyMajorVersion version,
266 SpdySettingsIds id) { 260 SpdySettingsIds id) {
267 switch (version) { 261 switch (version) {
268 case SPDY2:
269 case SPDY3: 262 case SPDY3:
270 switch (id) { 263 switch (id) {
271 case SETTINGS_UPLOAD_BANDWIDTH: 264 case SETTINGS_UPLOAD_BANDWIDTH:
272 return 1; 265 return 1;
273 case SETTINGS_DOWNLOAD_BANDWIDTH: 266 case SETTINGS_DOWNLOAD_BANDWIDTH:
274 return 2; 267 return 2;
275 case SETTINGS_ROUND_TRIP_TIME: 268 case SETTINGS_ROUND_TRIP_TIME:
276 return 3; 269 return 3;
277 case SETTINGS_MAX_CONCURRENT_STREAMS: 270 case SETTINGS_MAX_CONCURRENT_STREAMS:
278 return 4; 271 return 4;
(...skipping 26 matching lines...) Expand all
305 return -1; 298 return -1;
306 } 299 }
307 } 300 }
308 LOG(DFATAL) << "Unhandled SPDY version " << version; 301 LOG(DFATAL) << "Unhandled SPDY version " << version;
309 return -1; 302 return -1;
310 } 303 }
311 304
312 bool SpdyConstants::IsValidRstStreamStatus(SpdyMajorVersion version, 305 bool SpdyConstants::IsValidRstStreamStatus(SpdyMajorVersion version,
313 int rst_stream_status_field) { 306 int rst_stream_status_field) {
314 switch (version) { 307 switch (version) {
315 case SPDY2:
316 case SPDY3: 308 case SPDY3:
317 // PROTOCOL_ERROR is the valid first status code. 309 // PROTOCOL_ERROR is the valid first status code.
318 if (rst_stream_status_field < 310 if (rst_stream_status_field <
319 SerializeRstStreamStatus(version, RST_STREAM_PROTOCOL_ERROR)) { 311 SerializeRstStreamStatus(version, RST_STREAM_PROTOCOL_ERROR)) {
320 return false; 312 return false;
321 } 313 }
322 314
323 // FRAME_TOO_LARGE is the valid last status code. 315 // FRAME_TOO_LARGE is the valid last status code.
324 if (rst_stream_status_field > 316 if (rst_stream_status_field >
325 SerializeRstStreamStatus(version, RST_STREAM_FRAME_TOO_LARGE)) { 317 SerializeRstStreamStatus(version, RST_STREAM_FRAME_TOO_LARGE)) {
(...skipping 28 matching lines...) Expand all
354 return true; 346 return true;
355 } 347 }
356 LOG(DFATAL) << "Unhandled SPDY version " << version; 348 LOG(DFATAL) << "Unhandled SPDY version " << version;
357 return false; 349 return false;
358 } 350 }
359 351
360 SpdyRstStreamStatus SpdyConstants::ParseRstStreamStatus( 352 SpdyRstStreamStatus SpdyConstants::ParseRstStreamStatus(
361 SpdyMajorVersion version, 353 SpdyMajorVersion version,
362 int rst_stream_status_field) { 354 int rst_stream_status_field) {
363 switch (version) { 355 switch (version) {
364 case SPDY2:
365 case SPDY3: 356 case SPDY3:
366 switch (rst_stream_status_field) { 357 switch (rst_stream_status_field) {
367 case 1: 358 case 1:
368 return RST_STREAM_PROTOCOL_ERROR; 359 return RST_STREAM_PROTOCOL_ERROR;
369 case 2: 360 case 2:
370 return RST_STREAM_INVALID_STREAM; 361 return RST_STREAM_INVALID_STREAM;
371 case 3: 362 case 3:
372 return RST_STREAM_REFUSED_STREAM; 363 return RST_STREAM_REFUSED_STREAM;
373 case 4: 364 case 4:
374 return RST_STREAM_UNSUPPORTED_VERSION; 365 return RST_STREAM_UNSUPPORTED_VERSION;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 } 406 }
416 407
417 LOG(DFATAL) << "Invalid RST_STREAM status " << rst_stream_status_field; 408 LOG(DFATAL) << "Invalid RST_STREAM status " << rst_stream_status_field;
418 return RST_STREAM_PROTOCOL_ERROR; 409 return RST_STREAM_PROTOCOL_ERROR;
419 } 410 }
420 411
421 int SpdyConstants::SerializeRstStreamStatus( 412 int SpdyConstants::SerializeRstStreamStatus(
422 SpdyMajorVersion version, 413 SpdyMajorVersion version,
423 SpdyRstStreamStatus rst_stream_status) { 414 SpdyRstStreamStatus rst_stream_status) {
424 switch (version) { 415 switch (version) {
425 case SPDY2:
426 case SPDY3: 416 case SPDY3:
427 switch (rst_stream_status) { 417 switch (rst_stream_status) {
428 case RST_STREAM_PROTOCOL_ERROR: 418 case RST_STREAM_PROTOCOL_ERROR:
429 return 1; 419 return 1;
430 case RST_STREAM_INVALID_STREAM: 420 case RST_STREAM_INVALID_STREAM:
431 return 2; 421 return 2;
432 case RST_STREAM_REFUSED_STREAM: 422 case RST_STREAM_REFUSED_STREAM:
433 return 3; 423 return 3;
434 case RST_STREAM_UNSUPPORTED_VERSION: 424 case RST_STREAM_UNSUPPORTED_VERSION:
435 return 4; 425 return 4;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 return -1; 470 return -1;
481 } 471 }
482 } 472 }
483 LOG(DFATAL) << "Unhandled SPDY version " << version; 473 LOG(DFATAL) << "Unhandled SPDY version " << version;
484 return -1; 474 return -1;
485 } 475 }
486 476
487 bool SpdyConstants::IsValidGoAwayStatus(SpdyMajorVersion version, 477 bool SpdyConstants::IsValidGoAwayStatus(SpdyMajorVersion version,
488 int goaway_status_field) { 478 int goaway_status_field) {
489 switch (version) { 479 switch (version) {
490 case SPDY2:
491 case SPDY3: 480 case SPDY3:
492 // GOAWAY_OK is the first valid status. 481 // GOAWAY_OK is the first valid status.
493 if (goaway_status_field < SerializeGoAwayStatus(version, GOAWAY_OK)) { 482 if (goaway_status_field < SerializeGoAwayStatus(version, GOAWAY_OK)) {
494 return false; 483 return false;
495 } 484 }
496 485
497 // GOAWAY_INTERNAL_ERROR is the last valid status. 486 // GOAWAY_INTERNAL_ERROR is the last valid status.
498 if (goaway_status_field > SerializeGoAwayStatus(version, 487 if (goaway_status_field > SerializeGoAwayStatus(version,
499 GOAWAY_INTERNAL_ERROR)) { 488 GOAWAY_INTERNAL_ERROR)) {
500 return false; 489 return false;
(...skipping 15 matching lines...) Expand all
516 505
517 return true; 506 return true;
518 } 507 }
519 LOG(DFATAL) << "Unknown SpdyMajorVersion " << version; 508 LOG(DFATAL) << "Unknown SpdyMajorVersion " << version;
520 return false; 509 return false;
521 } 510 }
522 511
523 SpdyGoAwayStatus SpdyConstants::ParseGoAwayStatus(SpdyMajorVersion version, 512 SpdyGoAwayStatus SpdyConstants::ParseGoAwayStatus(SpdyMajorVersion version,
524 int goaway_status_field) { 513 int goaway_status_field) {
525 switch (version) { 514 switch (version) {
526 case SPDY2:
527 case SPDY3: 515 case SPDY3:
528 switch (goaway_status_field) { 516 switch (goaway_status_field) {
529 case 0: 517 case 0:
530 return GOAWAY_OK; 518 return GOAWAY_OK;
531 case 1: 519 case 1:
532 return GOAWAY_PROTOCOL_ERROR; 520 return GOAWAY_PROTOCOL_ERROR;
533 case 2: 521 case 2:
534 return GOAWAY_INTERNAL_ERROR; 522 return GOAWAY_INTERNAL_ERROR;
535 } 523 }
536 break; 524 break;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 break; 556 break;
569 } 557 }
570 558
571 LOG(DFATAL) << "Unhandled GOAWAY status " << goaway_status_field; 559 LOG(DFATAL) << "Unhandled GOAWAY status " << goaway_status_field;
572 return GOAWAY_PROTOCOL_ERROR; 560 return GOAWAY_PROTOCOL_ERROR;
573 } 561 }
574 562
575 int SpdyConstants::SerializeGoAwayStatus(SpdyMajorVersion version, 563 int SpdyConstants::SerializeGoAwayStatus(SpdyMajorVersion version,
576 SpdyGoAwayStatus status) { 564 SpdyGoAwayStatus status) {
577 switch (version) { 565 switch (version) {
578 case SPDY2:
579 case SPDY3: 566 case SPDY3:
580 // TODO(jgraettinger): Merge this back to server-side. 567 // TODO(jgraettinger): Merge this back to server-side.
581 switch (status) { 568 switch (status) {
582 case GOAWAY_NO_ERROR: 569 case GOAWAY_NO_ERROR:
583 return 0; 570 return 0;
584 case GOAWAY_PROTOCOL_ERROR: 571 case GOAWAY_PROTOCOL_ERROR:
585 case GOAWAY_INTERNAL_ERROR: 572 case GOAWAY_INTERNAL_ERROR:
586 case GOAWAY_FLOW_CONTROL_ERROR: 573 case GOAWAY_FLOW_CONTROL_ERROR:
587 case GOAWAY_SETTINGS_TIMEOUT: 574 case GOAWAY_SETTINGS_TIMEOUT:
588 case GOAWAY_STREAM_CLOSED: 575 case GOAWAY_STREAM_CLOSED:
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 LOG(DFATAL) << "Serializing unhandled GOAWAY status " << status; 620 LOG(DFATAL) << "Serializing unhandled GOAWAY status " << status;
634 return -1; 621 return -1;
635 } 622 }
636 } 623 }
637 LOG(DFATAL) << "Unknown SpdyMajorVersion " << version; 624 LOG(DFATAL) << "Unknown SpdyMajorVersion " << version;
638 return -1; 625 return -1;
639 } 626 }
640 627
641 size_t SpdyConstants::GetDataFrameMinimumSize(SpdyMajorVersion version) { 628 size_t SpdyConstants::GetDataFrameMinimumSize(SpdyMajorVersion version) {
642 switch (version) { 629 switch (version) {
643 case SPDY2:
644 case SPDY3: 630 case SPDY3:
645 return 8; 631 return 8;
646 case HTTP2: 632 case HTTP2:
647 return 9; 633 return 9;
648 } 634 }
649 LOG(DFATAL) << "Unhandled SPDY version."; 635 LOG(DFATAL) << "Unhandled SPDY version.";
650 return 0; 636 return 0;
651 } 637 }
652 638
653 size_t SpdyConstants::GetControlFrameHeaderSize(SpdyMajorVersion version) { 639 size_t SpdyConstants::GetControlFrameHeaderSize(SpdyMajorVersion version) {
654 switch (version) { 640 switch (version) {
655 case SPDY2:
656 case SPDY3: 641 case SPDY3:
657 return 8; 642 return 8;
658 case HTTP2: 643 case HTTP2:
659 return 9; 644 return 9;
660 } 645 }
661 LOG(DFATAL) << "Unhandled SPDY version."; 646 LOG(DFATAL) << "Unhandled SPDY version.";
662 return 0; 647 return 0;
663 } 648 }
664 649
665 size_t SpdyConstants::GetPrefixLength(SpdyFrameType type, 650 size_t SpdyConstants::GetPrefixLength(SpdyFrameType type,
(...skipping 11 matching lines...) Expand all
677 return ((1<<24) - 1) + 8; 662 return ((1<<24) - 1) + 8;
678 } else { 663 } else {
679 // Max payload of 2^14 plus nine-byte frame header. 664 // Max payload of 2^14 plus nine-byte frame header.
680 // TODO(mlavan): In HTTP/2 this is actually not a constant; 665 // TODO(mlavan): In HTTP/2 this is actually not a constant;
681 // payload size can be set using the MAX_FRAME_SIZE setting to 666 // payload size can be set using the MAX_FRAME_SIZE setting to
682 // anything between 1 << 14 and (1 << 24) - 1 667 // anything between 1 << 14 and (1 << 24) - 1
683 return (1 << 14) + 9; 668 return (1 << 14) + 9;
684 } 669 }
685 } 670 }
686 671
687 size_t SpdyConstants::GetSizeOfSizeField(SpdyMajorVersion version) { 672 size_t SpdyConstants::GetSizeOfSizeField() {
688 return (version < SPDY3) ? sizeof(uint16_t) : sizeof(uint32_t); 673 return sizeof(uint32_t);
689 } 674 }
690 675
691 size_t SpdyConstants::GetSettingSize(SpdyMajorVersion version) { 676 size_t SpdyConstants::GetSettingSize(SpdyMajorVersion version) {
692 return version <= SPDY3 ? 8 : 6; 677 return version <= SPDY3 ? 8 : 6;
693 } 678 }
694 679
695 int32_t SpdyConstants::GetInitialStreamWindowSize(SpdyMajorVersion version) { 680 int32_t SpdyConstants::GetInitialStreamWindowSize(SpdyMajorVersion version) {
696 return (version <= SPDY3) ? (64 * 1024) : (64 * 1024 - 1); 681 return (version <= SPDY3) ? (64 * 1024) : (64 * 1024 - 1);
697 } 682 }
698 683
699 int32_t SpdyConstants::GetInitialSessionWindowSize(SpdyMajorVersion version) { 684 int32_t SpdyConstants::GetInitialSessionWindowSize(SpdyMajorVersion version) {
700 return (version <= SPDY3) ? (64 * 1024) : (64 * 1024 - 1); 685 return (version <= SPDY3) ? (64 * 1024) : (64 * 1024 - 1);
701 } 686 }
702 687
703 SpdyMajorVersion SpdyConstants::ParseMajorVersion(int version_number) { 688 SpdyMajorVersion SpdyConstants::ParseMajorVersion(int version_number) {
704 switch (version_number) { 689 switch (version_number) {
705 case 2:
706 return SPDY2;
707 case 3: 690 case 3:
708 return SPDY3; 691 return SPDY3;
709 case 4: 692 case 4:
710 return HTTP2; 693 return HTTP2;
711 default: 694 default:
712 LOG(DFATAL) << "Unsupported SPDY version number: " << version_number; 695 LOG(DFATAL) << "Unsupported SPDY version number: " << version_number;
713 return SPDY3; 696 return SPDY3;
714 } 697 }
715 } 698 }
716 699
717 int SpdyConstants::SerializeMajorVersion(SpdyMajorVersion version) { 700 int SpdyConstants::SerializeMajorVersion(SpdyMajorVersion version) {
718 switch (version) { 701 switch (version) {
719 case SPDY2:
720 return 2;
721 case SPDY3: 702 case SPDY3:
722 return 3; 703 return 3;
723 case HTTP2: 704 case HTTP2:
724 return 4; 705 return 4;
725 default: 706 default:
726 LOG(DFATAL) << "Unsupported SPDY major version: " << version; 707 LOG(DFATAL) << "Unsupported SPDY major version: " << version;
727 return -1; 708 return -1;
728 } 709 }
729 } 710 }
730 711
731 std::string SpdyConstants::GetVersionString(SpdyMajorVersion version) { 712 std::string SpdyConstants::GetVersionString(SpdyMajorVersion version) {
732 switch (version) { 713 switch (version) {
733 case SPDY2:
734 return "spdy/2";
735 case SPDY3: 714 case SPDY3:
736 return "spdy/3"; 715 return "spdy/3";
737 case HTTP2: 716 case HTTP2:
738 return "h2"; 717 return "h2";
739 default: 718 default:
740 LOG(DFATAL) << "Unsupported SPDY major version: " << version; 719 LOG(DFATAL) << "Unsupported SPDY major version: " << version;
741 return "spdy/3"; 720 return "spdy/3";
742 } 721 }
743 } 722 }
744 723
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
838 817
839 void SpdyAltSvcIR::Visit(SpdyFrameVisitor* visitor) const { 818 void SpdyAltSvcIR::Visit(SpdyFrameVisitor* visitor) const {
840 return visitor->VisitAltSvc(*this); 819 return visitor->VisitAltSvc(*this);
841 } 820 }
842 821
843 void SpdyPriorityIR::Visit(SpdyFrameVisitor* visitor) const { 822 void SpdyPriorityIR::Visit(SpdyFrameVisitor* visitor) const {
844 return visitor->VisitPriority(*this); 823 return visitor->VisitPriority(*this);
845 } 824 }
846 825
847 } // namespace net 826 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698