proxygen
SettingsId.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-present, Facebook, Inc.
3  * All rights reserved.
4  *
5  * This source code is licensed under the BSD-style license found in the
6  * LICENSE file in the root directory of this source tree. An additional grant
7  * of patent rights can be found in the PATENTS file in the same directory.
8  *
9  */
10 #pragma once
11 
12 #include <cstdint>
13 #include <utility>
14 
15 namespace proxygen {
16 
17 // Will never be valid HTTP/2 which only has 16 bits
18 #define SPDY_SETTINGS_MASK (1 << 16)
19 #define HQ_SETTINGS_MASK (((uint64_t)1) << 32)
20 
21 enum class SettingsId : uint64_t {
22  // From HTTP/2
24  ENABLE_PUSH = 2,
27  MAX_FRAME_SIZE = 5,
29 
31 
33 
34  // 0xf000 and 0xffff being reserved for Experimental Use
35  ENABLE_EX_HEADERS = 0xfbfb,
36  THRIFT_CHANNEL_ID = 0xf100,
37 
38  // For secondary authentication in HTTP/2
39  SETTINGS_HTTP_CERT_AUTH = 0xff00,
40 
41  // From SPDY, mostly unused
45  // MAX_CONCURRENT_STREAMS = 4,
48  // INITIAL_WINDOW_SIZE = 7,
50 
51  // From HQ
56 };
57 
58 using SettingPair = std::pair<SettingsId, uint32_t>;
59 
60 }
#define HQ_SETTINGS_MASK
Definition: SettingsId.h:19
#define SPDY_SETTINGS_MASK
Definition: SettingsId.h:18
std::pair< SettingsId, uint32_t > SettingPair
Definition: SettingsId.h:58