// Copyright (c) 2012 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_CORE_SPDY_FRAME_BUILDER_H_ #define QUICHE_HTTP2_CORE_SPDY_FRAME_BUILDER_H_ #include <cstddef> #include <cstdint> #include <memory> #include "absl/strings/string_view.h" #include "quiche/http2/core/spdy_protocol.h" #include "quiche/http2/core/zero_copy_output_buffer.h" #include "quiche/common/platform/api/quiche_bug_tracker.h" #include "quiche/common/platform/api/quiche_export.h" #include "quiche/common/quiche_endian.h" namespace spdy { namespace test { class SpdyFrameBuilderPeer; } // namespace test // This class provides facilities for basic binary value packing // into Spdy frames. // // The SpdyFrameBuilder supports appending primitive values (int, string, etc) // to a frame instance. The SpdyFrameBuilder grows its internal memory buffer // dynamically to hold the sequence of primitive values. The internal memory // buffer is exposed as the "data" of the SpdyFrameBuilder. class QUICHE_EXPORT SpdyFrameBuilder { … }; } // namespace spdy #endif // QUICHE_HTTP2_CORE_SPDY_FRAME_BUILDER_H_