// Copyright 2016 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_HTTP2_TEST_TOOLS_HPACK_BLOCK_BUILDER_H_ #define QUICHE_HTTP2_TEST_TOOLS_HPACK_BLOCK_BUILDER_H_ // HpackBlockBuilder builds wire-format HPACK blocks (or fragments thereof) // from components. // Supports very large varints to enable tests to create HPACK blocks with // values that the decoder should reject. For now, this is only intended for // use in tests, and thus has EXPECT* in the code. If desired to use it in an // encoder, it will need optimization work, especially w.r.t memory mgmt, and // the EXPECT* will need to be removed or replaced with QUICHE_DCHECKs. And of // course the support for very large varints will not be needed in production // code. #include <stddef.h> #include <cstdint> #include <string> #include "absl/strings/string_view.h" #include "quiche/http2/hpack/http2_hpack_constants.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/common/platform/api/quiche_test.h" namespace http2 { namespace test { class QUICHE_NO_EXPORT HpackBlockBuilder { … }; } // namespace test } // namespace http2 #endif // QUICHE_HTTP2_TEST_TOOLS_HPACK_BLOCK_BUILDER_H_