#include "quiche/http2/core/spdy_frame_builder.h"
#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include "absl/strings/string_view.h"
#include "quiche/http2/core/spdy_bitmasks.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_logging.h"
namespace spdy {
SpdyFrameBuilder::SpdyFrameBuilder(size_t size)
: … { … }
SpdyFrameBuilder::SpdyFrameBuilder(size_t size, ZeroCopyOutputBuffer* output)
: … { … }
SpdyFrameBuilder::~SpdyFrameBuilder() = default;
char* SpdyFrameBuilder::GetWritableBuffer(size_t length) { … }
char* SpdyFrameBuilder::GetWritableOutput(size_t length,
size_t* actual_length) { … }
bool SpdyFrameBuilder::Seek(size_t length) { … }
bool SpdyFrameBuilder::BeginNewFrame(SpdyFrameType type, uint8_t flags,
SpdyStreamId stream_id) { … }
bool SpdyFrameBuilder::BeginNewFrame(SpdyFrameType type, uint8_t flags,
SpdyStreamId stream_id, size_t length) { … }
bool SpdyFrameBuilder::BeginNewUncheckedFrame(uint8_t raw_frame_type,
uint8_t flags,
SpdyStreamId stream_id,
size_t length) { … }
bool SpdyFrameBuilder::BeginNewFrameInternal(uint8_t raw_frame_type,
uint8_t flags,
SpdyStreamId stream_id,
size_t length) { … }
bool SpdyFrameBuilder::WriteStringPiece32(const absl::string_view value) { … }
bool SpdyFrameBuilder::WriteBytes(const void* data, uint32_t data_len) { … }
bool SpdyFrameBuilder::CanWrite(size_t length) const { … }
}