proxygen
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
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
23
HEADER_TABLE_SIZE
= 1,
24
ENABLE_PUSH
= 2,
25
MAX_CONCURRENT_STREAMS
= 3,
26
INITIAL_WINDOW_SIZE
= 4,
27
MAX_FRAME_SIZE
= 5,
28
MAX_HEADER_LIST_SIZE
= 6,
29
30
ENABLE_CONNECT_PROTOCOL
= 8,
31
32
THRIFT_CHANNEL_ID_DEPRECATED
= 100,
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
42
_SPDY_UPLOAD_BANDWIDTH
=
SPDY_SETTINGS_MASK
| 1,
43
_SPDY_DOWNLOAD_BANDWIDTH
=
SPDY_SETTINGS_MASK
| 2,
44
_SPDY_ROUND_TRIP_TIME
=
SPDY_SETTINGS_MASK
| 3,
45
// MAX_CONCURRENT_STREAMS = 4,
46
_SPDY_CURRENT_CWND
=
SPDY_SETTINGS_MASK
| 5,
47
_SPDY_DOWNLOAD_RETRANS_RATE
=
SPDY_SETTINGS_MASK
| 6,
48
// INITIAL_WINDOW_SIZE = 7,
49
_SPDY_CLIENT_CERTIFICATE_VECTOR_SIZE
=
SPDY_SETTINGS_MASK
| 8,
50
51
// From HQ
52
_HQ_HEADER_TABLE_SIZE
=
HQ_SETTINGS_MASK
| 1,
53
_HQ_NUM_PLACEHOLDERS
=
HQ_SETTINGS_MASK
| 3,
54
_HQ_MAX_HEADER_LIST_SIZE
=
HQ_SETTINGS_MASK
| 6,
55
_HQ_QPACK_BLOCKED_STREAMS
=
HQ_SETTINGS_MASK
| 7,
56
};
57
58
using
SettingPair
= std::pair<SettingsId, uint32_t>;
59
60
}
proxygen::SettingsId::MAX_FRAME_SIZE
proxygen::SettingsId::_SPDY_DOWNLOAD_RETRANS_RATE
proxygen::SettingsId::ENABLE_EX_HEADERS
proxygen::SettingsId::THRIFT_CHANNEL_ID_DEPRECATED
HQ_SETTINGS_MASK
#define HQ_SETTINGS_MASK
Definition:
SettingsId.h:19
proxygen::SettingsId::_SPDY_CURRENT_CWND
SPDY_SETTINGS_MASK
#define SPDY_SETTINGS_MASK
Definition:
SettingsId.h:18
proxygen::SettingsId::_HQ_HEADER_TABLE_SIZE
proxygen::SettingsId::SETTINGS_HTTP_CERT_AUTH
proxygen::SettingsId::MAX_CONCURRENT_STREAMS
proxygen::SettingsId::_HQ_NUM_PLACEHOLDERS
proxygen::SettingsId::HEADER_TABLE_SIZE
proxygen::SettingsId::_SPDY_CLIENT_CERTIFICATE_VECTOR_SIZE
proxygen::SettingsId::ENABLE_PUSH
proxygen::SettingsId::_SPDY_ROUND_TRIP_TIME
proxygen::SettingsId::THRIFT_CHANNEL_ID
proxygen::SettingsId::_SPDY_UPLOAD_BANDWIDTH
proxygen::SettingPair
std::pair< SettingsId, uint32_t > SettingPair
Definition:
SettingsId.h:58
proxygen::SettingsId::INITIAL_WINDOW_SIZE
uint64_t
uint64_t
Definition:
ConstexprMathBenchmark.cpp:190
proxygen::SettingsId::_HQ_MAX_HEADER_LIST_SIZE
proxygen
Definition:
ExMessageHandler.h:14
proxygen::SettingsId::ENABLE_CONNECT_PROTOCOL
proxygen::SettingsId::MAX_HEADER_LIST_SIZE
proxygen::SettingsId
SettingsId
Definition:
SettingsId.h:21
proxygen::SettingsId::_SPDY_DOWNLOAD_BANDWIDTH
proxygen::SettingsId::_HQ_QPACK_BLOCKED_STREAMS
proxygen
lib
http
codec
SettingsId.h
Generated by
1.8.11