#ifndef QUICHE_HTTP2_HTTP2_CONSTANTS_H_
#define QUICHE_HTTP2_HTTP2_CONSTANTS_H_
#include <cstdint>
#include <iosfwd>
#include <ostream>
#include <string>
#include "absl/container/flat_hash_set.h"
#include "absl/strings/string_view.h"
#include "quiche/common/platform/api/quiche_export.h"
#include "quiche/common/quiche_text_utils.h"
namespace http2 {
constexpr uint32_t UInt31Mask() { … }
constexpr uint32_t StreamIdMask() { … }
enum class Http2FrameType : uint8_t { … };
inline bool IsSupportedHttp2FrameType(uint32_t v) { … }
inline bool IsSupportedHttp2FrameType(Http2FrameType v) { … }
QUICHE_EXPORT std::string Http2FrameTypeToString(Http2FrameType v);
QUICHE_EXPORT std::string Http2FrameTypeToString(uint8_t v);
QUICHE_EXPORT inline std::ostream& operator<<(std::ostream& out,
Http2FrameType v) { … }
enum Http2FrameFlag : uint8_t { … };
QUICHE_EXPORT std::string Http2FrameFlagsToString(Http2FrameType type,
uint8_t flags);
QUICHE_EXPORT std::string Http2FrameFlagsToString(uint8_t type, uint8_t flags);
enum class Http2ErrorCode : uint32_t { … };
inline bool IsSupportedHttp2ErrorCode(uint32_t v) { … }
inline bool IsSupportedHttp2ErrorCode(Http2ErrorCode v) { … }
QUICHE_EXPORT std::string Http2ErrorCodeToString(uint32_t v);
QUICHE_EXPORT std::string Http2ErrorCodeToString(Http2ErrorCode v);
QUICHE_EXPORT inline std::ostream& operator<<(std::ostream& out,
Http2ErrorCode v) { … }
enum class Http2SettingsParameter : uint16_t { … };
inline bool IsSupportedHttp2SettingsParameter(uint32_t v) { … }
inline bool IsSupportedHttp2SettingsParameter(Http2SettingsParameter v) { … }
QUICHE_EXPORT std::string Http2SettingsParameterToString(uint32_t v);
QUICHE_EXPORT std::string Http2SettingsParameterToString(
Http2SettingsParameter v);
inline std::ostream& operator<<(std::ostream& out, Http2SettingsParameter v) { … }
class QUICHE_EXPORT Http2SettingsInfo { … };
InvalidHeaderSet;
QUICHE_EXPORT const InvalidHeaderSet& GetInvalidHttp2HeaderSet();
}
#endif