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

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

Issue 12259004: Remove SpdyPingControlFrame struct. Useful for SPDY 4 development. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « net/spdy/spdy_framer_test.cc ('k') | net/spdy/spdy_protocol_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // This file contains some protocol structures for use with Spdy. 5 // This file contains some protocol structures for use with Spdy.
6 6
7 #ifndef NET_SPDY_SPDY_PROTOCOL_H_ 7 #ifndef NET_SPDY_SPDY_PROTOCOL_H_
8 #define NET_SPDY_SPDY_PROTOCOL_H_ 8 #define NET_SPDY_SPDY_PROTOCOL_H_
9 9
10 #include <limits> 10 #include <limits>
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 SpdyStreamId stream_id_; 496 SpdyStreamId stream_id_;
497 uint32 status_; 497 uint32 status_;
498 }; 498 };
499 499
500 // A SETTINGS Control Frame structure. 500 // A SETTINGS Control Frame structure.
501 struct SpdySettingsControlFrameBlock : SpdyFrameBlock { 501 struct SpdySettingsControlFrameBlock : SpdyFrameBlock {
502 uint32 num_entries_; 502 uint32 num_entries_;
503 // Variable data here. 503 // Variable data here.
504 }; 504 };
505 505
506 // A PING Control Frame structure.
507 struct SpdyPingControlFrameBlock : SpdyFrameBlock {
508 uint32 unique_id_;
509 };
510
511 // TODO(avd): remove this struct 506 // TODO(avd): remove this struct
512 // A CREDENTIAL Control Frame structure. 507 // A CREDENTIAL Control Frame structure.
513 struct SpdyCredentialControlFrameBlock : SpdyFrameBlock { 508 struct SpdyCredentialControlFrameBlock : SpdyFrameBlock {
514 uint16 slot_; 509 uint16 slot_;
515 uint32 proof_len_; 510 uint32 proof_len_;
516 // Variable data here. 511 // Variable data here.
517 // proof data 512 // proof data
518 // for each certificate: unit32 certificate_len + certificate_data[i] 513 // for each certificate: unit32 certificate_len + certificate_data[i]
519 }; 514 };
520 515
(...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after
1105 private: 1100 private:
1106 const struct SpdySettingsControlFrameBlock* block() const { 1101 const struct SpdySettingsControlFrameBlock* block() const {
1107 return static_cast<SpdySettingsControlFrameBlock*>(frame_); 1102 return static_cast<SpdySettingsControlFrameBlock*>(frame_);
1108 } 1103 }
1109 struct SpdySettingsControlFrameBlock* mutable_block() { 1104 struct SpdySettingsControlFrameBlock* mutable_block() {
1110 return static_cast<SpdySettingsControlFrameBlock*>(frame_); 1105 return static_cast<SpdySettingsControlFrameBlock*>(frame_);
1111 } 1106 }
1112 DISALLOW_COPY_AND_ASSIGN(SpdySettingsControlFrame); 1107 DISALLOW_COPY_AND_ASSIGN(SpdySettingsControlFrame);
1113 }; 1108 };
1114 1109
1115 class SpdyPingControlFrame : public SpdyControlFrame {
1116 public:
1117 SpdyPingControlFrame() : SpdyControlFrame(size()) {}
1118 SpdyPingControlFrame(char* data, bool owns_buffer)
1119 : SpdyControlFrame(data, owns_buffer) {}
1120
1121 uint32 unique_id() const {
1122 return ntohl(block()->unique_id_);
1123 }
1124
1125 void set_unique_id(uint32 unique_id) {
1126 mutable_block()->unique_id_ = htonl(unique_id);
1127 }
1128
1129 static size_t size() { return sizeof(SpdyPingControlFrameBlock); }
1130
1131 private:
1132 const struct SpdyPingControlFrameBlock* block() const {
1133 return static_cast<SpdyPingControlFrameBlock*>(frame_);
1134 }
1135 struct SpdyPingControlFrameBlock* mutable_block() {
1136 return static_cast<SpdyPingControlFrameBlock*>(frame_);
1137 }
1138 };
1139
1140 class SpdyCredentialControlFrame : public SpdyControlFrame { 1110 class SpdyCredentialControlFrame : public SpdyControlFrame {
1141 public: 1111 public:
1142 SpdyCredentialControlFrame() : SpdyControlFrame(size()) {} 1112 SpdyCredentialControlFrame() : SpdyControlFrame(size()) {}
1143 SpdyCredentialControlFrame(char* data, bool owns_buffer) 1113 SpdyCredentialControlFrame(char* data, bool owns_buffer)
1144 : SpdyControlFrame(data, owns_buffer) {} 1114 : SpdyControlFrame(data, owns_buffer) {}
1145 1115
1146 const char* payload() const { 1116 const char* payload() const {
1147 return reinterpret_cast<const char*>(block()) + SpdyFrame::kHeaderSize; 1117 return reinterpret_cast<const char*>(block()) + SpdyFrame::kHeaderSize;
1148 } 1118 }
1149 1119
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1187 } 1157 }
1188 struct SpdyHeadersControlFrameBlock* mutable_block() { 1158 struct SpdyHeadersControlFrameBlock* mutable_block() {
1189 return static_cast<SpdyHeadersControlFrameBlock*>(frame_); 1159 return static_cast<SpdyHeadersControlFrameBlock*>(frame_);
1190 } 1160 }
1191 DISALLOW_COPY_AND_ASSIGN(SpdyHeadersControlFrame); 1161 DISALLOW_COPY_AND_ASSIGN(SpdyHeadersControlFrame);
1192 }; 1162 };
1193 1163
1194 } // namespace net 1164 } // namespace net
1195 1165
1196 #endif // NET_SPDY_SPDY_PROTOCOL_H_ 1166 #endif // NET_SPDY_SPDY_PROTOCOL_H_
OLDNEW
« no previous file with comments | « net/spdy/spdy_framer_test.cc ('k') | net/spdy/spdy_protocol_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698