#include "net/spdy/buffered_spdy_framer.h"
#include <algorithm>
#include <utility>
#include "base/check.h"
#include "base/strings/string_util.h"
#include "base/trace_event/memory_usage_estimator.h"
namespace net {
namespace {
size_t kGoAwayDebugDataMaxSize = …;
}
BufferedSpdyFramer::BufferedSpdyFramer(uint32_t max_header_list_size,
const NetLogWithSource& net_log,
TimeFunc time_func)
: … { … }
BufferedSpdyFramer::~BufferedSpdyFramer() = default;
void BufferedSpdyFramer::set_visitor(
BufferedSpdyFramerVisitorInterface* visitor) { … }
void BufferedSpdyFramer::set_debug_visitor(
spdy::SpdyFramerDebugVisitorInterface* debug_visitor) { … }
void BufferedSpdyFramer::OnError(
http2::Http2DecoderAdapter::SpdyFramerError spdy_framer_error,
std::string ) { … }
void BufferedSpdyFramer::OnHeaders(spdy::SpdyStreamId stream_id,
size_t payload_length,
bool has_priority,
int weight,
spdy::SpdyStreamId parent_stream_id,
bool exclusive,
bool fin,
bool end) { … }
void BufferedSpdyFramer::OnDataFrameHeader(spdy::SpdyStreamId stream_id,
size_t length,
bool fin) { … }
void BufferedSpdyFramer::OnStreamFrameData(spdy::SpdyStreamId stream_id,
const char* data,
size_t len) { … }
void BufferedSpdyFramer::OnStreamEnd(spdy::SpdyStreamId stream_id) { … }
void BufferedSpdyFramer::OnStreamPadLength(spdy::SpdyStreamId stream_id,
size_t value) { … }
void BufferedSpdyFramer::OnStreamPadding(spdy::SpdyStreamId stream_id,
size_t len) { … }
spdy::SpdyHeadersHandlerInterface* BufferedSpdyFramer::OnHeaderFrameStart(
spdy::SpdyStreamId stream_id) { … }
void BufferedSpdyFramer::OnHeaderFrameEnd(spdy::SpdyStreamId stream_id) { … }
void BufferedSpdyFramer::OnSettings() { … }
void BufferedSpdyFramer::OnSetting(spdy::SpdySettingsId id, uint32_t value) { … }
void BufferedSpdyFramer::OnSettingsAck() { … }
void BufferedSpdyFramer::OnSettingsEnd() { … }
void BufferedSpdyFramer::OnPing(spdy::SpdyPingId unique_id, bool is_ack) { … }
void BufferedSpdyFramer::OnRstStream(spdy::SpdyStreamId stream_id,
spdy::SpdyErrorCode error_code) { … }
void BufferedSpdyFramer::OnGoAway(spdy::SpdyStreamId last_accepted_stream_id,
spdy::SpdyErrorCode error_code) { … }
bool BufferedSpdyFramer::OnGoAwayFrameData(const char* goaway_data,
size_t len) { … }
void BufferedSpdyFramer::OnWindowUpdate(spdy::SpdyStreamId stream_id,
int delta_window_size) { … }
void BufferedSpdyFramer::OnPushPromise(spdy::SpdyStreamId stream_id,
spdy::SpdyStreamId promised_stream_id,
bool end) { … }
void BufferedSpdyFramer::OnAltSvc(
spdy::SpdyStreamId stream_id,
std::string_view origin,
const spdy::SpdyAltSvcWireFormat::AlternativeServiceVector& altsvc_vector) { … }
void BufferedSpdyFramer::OnContinuation(spdy::SpdyStreamId stream_id,
size_t payload_length,
bool end) { … }
bool BufferedSpdyFramer::OnUnknownFrame(spdy::SpdyStreamId stream_id,
uint8_t frame_type) { … }
size_t BufferedSpdyFramer::ProcessInput(const char* data, size_t len) { … }
void BufferedSpdyFramer::UpdateHeaderDecoderTableSize(uint32_t value) { … }
http2::Http2DecoderAdapter::SpdyFramerError
BufferedSpdyFramer::spdy_framer_error() const { … }
http2::Http2DecoderAdapter::SpdyState BufferedSpdyFramer::state() const { … }
bool BufferedSpdyFramer::MessageFullyRead() { … }
bool BufferedSpdyFramer::HasError() { … }
std::unique_ptr<spdy::SpdySerializedFrame> BufferedSpdyFramer::CreateRstStream(
spdy::SpdyStreamId stream_id,
spdy::SpdyErrorCode error_code) const { … }
std::unique_ptr<spdy::SpdySerializedFrame> BufferedSpdyFramer::CreateSettings(
const spdy::SettingsMap& values) const { … }
std::unique_ptr<spdy::SpdySerializedFrame> BufferedSpdyFramer::CreatePingFrame(
spdy::SpdyPingId unique_id,
bool is_ack) const { … }
std::unique_ptr<spdy::SpdySerializedFrame>
BufferedSpdyFramer::CreateWindowUpdate(spdy::SpdyStreamId stream_id,
uint32_t delta_window_size) const { … }
std::unique_ptr<spdy::SpdySerializedFrame> BufferedSpdyFramer::CreateDataFrame(
spdy::SpdyStreamId stream_id,
const char* data,
uint32_t len,
spdy::SpdyDataFlags flags) { … }
std::unique_ptr<spdy::SpdySerializedFrame> BufferedSpdyFramer::CreatePriority(
spdy::SpdyStreamId stream_id,
spdy::SpdyStreamId dependency_id,
int weight,
bool exclusive) const { … }
void BufferedSpdyFramer::UpdateHeaderEncoderTableSize(uint32_t value) { … }
uint32_t BufferedSpdyFramer::header_encoder_table_size() const { … }
BufferedSpdyFramer::ControlFrameFields::ControlFrameFields() = default;
}