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

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

Issue 202073003: Introduce new SpdyConstants class (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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.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 2 and 3 5 // This file contains some protocol structures for use with SPDY 2 and 3
6 // The SPDY 2 spec can be found at: 6 // The SPDY 2 spec can be found at:
7 // http://dev.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2 7 // http://dev.chromium.org/spdy/spdy-protocol/spdy-protocol-draft2
8 // The SPDY 3 spec can be found at: 8 // The SPDY 3 spec can be found at:
9 // http://dev.chromium.org/spdy/spdy-protocol/spdy-protocol-draft3 9 // http://dev.chromium.org/spdy/spdy-protocol/spdy-protocol-draft3
10 10
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 377
378 // A SPDY priority is a number between 0 and 7 (inclusive). 378 // A SPDY priority is a number between 0 and 7 (inclusive).
379 // SPDY priority range is version-dependent. For SPDY 2 and below, priority is a 379 // SPDY priority range is version-dependent. For SPDY 2 and below, priority is a
380 // number between 0 and 3. 380 // number between 0 and 3.
381 typedef uint8 SpdyPriority; 381 typedef uint8 SpdyPriority;
382 382
383 typedef std::map<std::string, std::string> SpdyNameValueBlock; 383 typedef std::map<std::string, std::string> SpdyNameValueBlock;
384 384
385 typedef uint64 SpdyPingId; 385 typedef uint64 SpdyPingId;
386 386
387 // TODO(hkhalil): Add direct testing for this? It won't increase coverage any,
388 // but is good to do anyway.
389 class SpdyConstants {
390 public:
391 // Returns true if a given on-the-wire enumeration of a frame type is valid
392 // for a given protocol version, false otherwise.
393 static bool IsValidFrameType(SpdyMajorVersion version, int frame_type_field);
394
395 // Parses a frame type from an on-the-wire enumeration of a given protocol
396 // version.
397 // Behavior is undefined for invalid frame type fields; consumers should first
398 // use IsValidFrameType() to verify validity of frame type fields.
399 static SpdyFrameType ParseFrameType(SpdyMajorVersion version,
400 int frame_type_field);
401
402 // Serializes a given frame type to the on-the-wire enumeration value for the
403 // given protocol version.
404 // Returns -1 on failure (I.E. Invalid frame type for the given version).
405 static int SerializeFrameType(SpdyMajorVersion version,
406 SpdyFrameType frame_type);
407 };
408
387 class SpdyFrame; 409 class SpdyFrame;
388 typedef SpdyFrame SpdySerializedFrame; 410 typedef SpdyFrame SpdySerializedFrame;
389 411
390 class SpdyFrameVisitor; 412 class SpdyFrameVisitor;
391 413
392 // Intermediate representation for SPDY frames. 414 // Intermediate representation for SPDY frames.
393 // TODO(hkhalil): Rename this class to SpdyFrame when the existing SpdyFrame is 415 // TODO(hkhalil): Rename this class to SpdyFrame when the existing SpdyFrame is
394 // gone. 416 // gone.
395 class NET_EXPORT_PRIVATE SpdyFrameIR { 417 class NET_EXPORT_PRIVATE SpdyFrameIR {
396 public: 418 public:
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
870 SpdyFrameVisitor() {} 892 SpdyFrameVisitor() {}
871 virtual ~SpdyFrameVisitor() {} 893 virtual ~SpdyFrameVisitor() {}
872 894
873 private: 895 private:
874 DISALLOW_COPY_AND_ASSIGN(SpdyFrameVisitor); 896 DISALLOW_COPY_AND_ASSIGN(SpdyFrameVisitor);
875 }; 897 };
876 898
877 } // namespace net 899 } // namespace net
878 900
879 #endif // NET_SPDY_SPDY_PROTOCOL_H_ 901 #endif // NET_SPDY_SPDY_PROTOCOL_H_
OLDNEW
« no previous file with comments | « net/spdy/spdy_framer_test.cc ('k') | net/spdy/spdy_protocol.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698