// Copyright (c) 2019 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef QUICHE_QUIC_CORE_HTTP_HTTP_CONSTANTS_H_ #define QUICHE_QUIC_CORE_HTTP_HTTP_CONSTANTS_H_ #include <cstdint> #include <string> #include "absl/strings/string_view.h" #include "quiche/quic/core/quic_types.h" #include "quiche/quic/platform/api/quic_export.h" namespace quic { // Unidirectional stream types. enum : uint64_t { … }; // This includes control stream, QPACK encoder stream, and QPACK decoder stream. enum : QuicStreamCount { … }; // HTTP/3 and QPACK settings identifiers. // https://quicwg.org/base-drafts/draft-ietf-quic-http.html#settings-parameters // https://quicwg.org/base-drafts/draft-ietf-quic-qpack.html#configuration enum Http3AndQpackSettingsIdentifiers : uint64_t { … }; // Returns HTTP/3 SETTINGS identifier as a string. QUICHE_EXPORT std::string H3SettingsToString( Http3AndQpackSettingsIdentifiers identifier); // Default maximum dynamic table capacity, communicated via // SETTINGS_QPACK_MAX_TABLE_CAPACITY. enum : QuicByteCount { … }; // Default limit on the size of uncompressed headers, // communicated via SETTINGS_MAX_HEADER_LIST_SIZE. enum : QuicByteCount { … }; // Default limit on number of blocked streams, communicated via // SETTINGS_QPACK_BLOCKED_STREAMS. enum : uint64_t { … }; ABSL_CONST_INIT QUICHE_EXPORT extern const absl::string_view kUserAgentHeaderName; } // namespace quic #endif // QUICHE_QUIC_CORE_HTTP_HTTP_CONSTANTS_H_