blob: 27529ae28296c2df7e6df33cb53c0e6357f4c86a [file] [log] [blame]
QUICHE teamfd50a402018-12-07 22:54:05 -05001// Copyright 2016 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef QUICHE_HTTP2_HTTP2_CONSTANTS_TEST_UTIL_H_
6#define QUICHE_HTTP2_HTTP2_CONSTANTS_TEST_UTIL_H_
7
8#include <cstdint>
9#include <vector>
10
QUICHE team5be974e2020-12-29 18:35:24 -050011#include "http2/http2_constants.h"
QUICHE teamfd50a402018-12-07 22:54:05 -050012
13namespace http2 {
14namespace test {
15
16// Returns a vector of all supported RST_STREAM and GOAWAY error codes.
17std::vector<Http2ErrorCode> AllHttp2ErrorCodes();
18
19// Returns a vector of all supported parameters in SETTINGS frames.
20std::vector<Http2SettingsParameter> AllHttp2SettingsParameters();
21
22// Returns a mask of flags supported for the specified frame type. Returns
23// zero for unknown frame types.
24uint8_t KnownFlagsMaskForFrameType(Http2FrameType type);
25
26// Returns a mask of flag bits known to be invalid for the frame type.
27// For unknown frame types, the mask is zero; i.e., we don't know that any
28// are invalid.
29uint8_t InvalidFlagMaskForFrameType(Http2FrameType type);
30
31} // namespace test
32} // namespace http2
33
34#endif // QUICHE_HTTP2_HTTP2_CONSTANTS_TEST_UTIL_H_