proxygen
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
CompressionTypes.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 <chrono>
13
14
namespace
proxygen
{
namespace
compress {
15
enum class
SchemeType
{
QPACK
,
QMIN
,
HPACK
};
16
17
// Metadata about encoded blocks. In a real stack, these might be
18
// conveyed via HTTP frame (HEADERS or PUSH_PROMISE) flags.
19
struct
FrameFlags
{
20
FrameFlags
(
bool
ooo =
false
,
bool
depends =
false
)
21
: allowOOO(ooo), QPACKPrefixHasDepends(depends) {
22
}
23
24
bool
allowOOO{
false
};
25
bool
QPACKPrefixHasDepends{
false
};
26
};
27
28
struct
SimParams
{
29
SchemeType
type
;
30
int64_t
seed
;
31
std::chrono::milliseconds
rtt
;
32
double
lossProbability
;
33
double
delayProbability
;
34
std::chrono::milliseconds
maxDelay
;
35
uint16_t
minOOOThresh
;
36
bool
blend
;
37
bool
samePacketCompression
;
38
uint32_t
tableSize
;
39
uint32_t
maxBlocking
;
40
};
41
42
struct
SimStats
{
43
uint64_t
allowedOOO{0};
44
uint64_t
packetLosses{0};
45
uint64_t
maxQueueBufferBytes{0};
46
std::chrono::milliseconds holDelay{0};
47
uint64_t
uncompressed{0};
48
uint64_t
compressed{0};
49
uint64_t
packets{0};
50
};
51
}}
// namespace proxygen::compress
proxygen::compress::SchemeType
SchemeType
Definition:
CompressionTypes.h:15
proxygen::compress::SchemeType::QPACK
proxygen::compress::SimParams::tableSize
uint32_t tableSize
Definition:
CompressionTypes.h:38
proxygen::compress::SimParams::maxDelay
std::chrono::milliseconds maxDelay
Definition:
CompressionTypes.h:34
proxygen::compress::SimParams::seed
int64_t seed
Definition:
CompressionTypes.h:30
proxygen::compress::SimParams
Definition:
CompressionTypes.h:28
proxygen::compress::SimParams::blend
bool blend
Definition:
CompressionTypes.h:36
proxygen::compress::FrameFlags::FrameFlags
FrameFlags(bool ooo=false, bool depends=false)
Definition:
CompressionTypes.h:20
proxygen::compress::SimParams::samePacketCompression
bool samePacketCompression
Definition:
CompressionTypes.h:37
proxygen::compress::SimParams::minOOOThresh
uint16_t minOOOThresh
Definition:
CompressionTypes.h:35
proxygen::compress::SimParams::type
SchemeType type
Definition:
CompressionTypes.h:29
proxygen::compress::SimParams::delayProbability
double delayProbability
Definition:
CompressionTypes.h:33
proxygen::compress::SimParams::lossProbability
double lossProbability
Definition:
CompressionTypes.h:32
proxygen::compress::SimParams::maxBlocking
uint32_t maxBlocking
Definition:
CompressionTypes.h:39
proxygen::compress::SchemeType::HPACK
uint64_t
uint64_t
Definition:
ConstexprMathBenchmark.cpp:190
proxygen
Definition:
ExMessageHandler.h:14
uint32_t
uint32_t
Definition:
ConstexprMathBenchmark.cpp:186
proxygen::compress::FrameFlags
Definition:
CompressionTypes.h:19
uint16_t
uint16_t
Definition:
ConstexprMathBenchmark.cpp:182
proxygen::compress::SimStats
Definition:
CompressionTypes.h:42
proxygen::compress::SimParams::rtt
std::chrono::milliseconds rtt
Definition:
CompressionTypes.h:31
int64_t
int64_t
Definition:
ConstexprMathBenchmark.cpp:188
proxygen::compress::SchemeType::QMIN
proxygen
lib
http
codec
compress
experimental
simulator
CompressionTypes.h
Generated by
1.8.11