Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Unified Diff: net/spdy/buffered_spdy_framer.cc

Issue 2832973003: Split net/spdy into core and chromium subdirectories. (Closed)
Patch Set: Fix some more build rules. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/spdy/buffered_spdy_framer.h ('k') | net/spdy/buffered_spdy_framer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/buffered_spdy_framer.cc
diff --git a/net/spdy/buffered_spdy_framer.cc b/net/spdy/buffered_spdy_framer.cc
deleted file mode 100644
index 435e9d3b29872546dd5763cb2f54727639ba0ed4..0000000000000000000000000000000000000000
--- a/net/spdy/buffered_spdy_framer.cc
+++ /dev/null
@@ -1,320 +0,0 @@
-// 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.
-
-#include "net/spdy/buffered_spdy_framer.h"
-
-#include <algorithm>
-#include <utility>
-
-#include "base/logging.h"
-#include "base/memory/ptr_util.h"
-#include "base/strings/string_util.h"
-#include "net/spdy/platform/api/spdy_estimate_memory_usage.h"
-
-namespace net {
-
-namespace {
-
-// GOAWAY frame debug data is only buffered up to this many bytes.
-size_t kGoAwayDebugDataMaxSize = 1024;
-
-} // namespace
-
-BufferedSpdyFramer::BufferedSpdyFramer()
- : spdy_framer_(SpdyFramer::ENABLE_COMPRESSION),
- visitor_(NULL),
- frames_received_(0) {}
-
-BufferedSpdyFramer::~BufferedSpdyFramer() {
-}
-
-void BufferedSpdyFramer::set_visitor(
- BufferedSpdyFramerVisitorInterface* visitor) {
- visitor_ = visitor;
- spdy_framer_.set_visitor(this);
-}
-
-void BufferedSpdyFramer::set_debug_visitor(
- SpdyFramerDebugVisitorInterface* debug_visitor) {
- spdy_framer_.set_debug_visitor(debug_visitor);
-}
-
-void BufferedSpdyFramer::OnError(SpdyFramer* spdy_framer) {
- DCHECK(spdy_framer);
- visitor_->OnError(spdy_framer->spdy_framer_error());
-}
-
-void BufferedSpdyFramer::OnHeaders(SpdyStreamId stream_id,
- bool has_priority,
- int weight,
- SpdyStreamId parent_stream_id,
- bool exclusive,
- bool fin,
- bool end) {
- frames_received_++;
- DCHECK(!control_frame_fields_.get());
- control_frame_fields_.reset(new ControlFrameFields());
- control_frame_fields_->type = SpdyFrameType::HEADERS;
- control_frame_fields_->stream_id = stream_id;
- control_frame_fields_->has_priority = has_priority;
- if (control_frame_fields_->has_priority) {
- control_frame_fields_->weight = weight;
- control_frame_fields_->parent_stream_id = parent_stream_id;
- control_frame_fields_->exclusive = exclusive;
- }
- control_frame_fields_->fin = fin;
-
- DCHECK_NE(stream_id, SpdyFramer::kInvalidStream);
-}
-
-void BufferedSpdyFramer::OnDataFrameHeader(SpdyStreamId stream_id,
- size_t length,
- bool fin) {
- frames_received_++;
- visitor_->OnDataFrameHeader(stream_id, length, fin);
-}
-
-void BufferedSpdyFramer::OnStreamFrameData(SpdyStreamId stream_id,
- const char* data,
- size_t len) {
- visitor_->OnStreamFrameData(stream_id, data, len);
-}
-
-void BufferedSpdyFramer::OnStreamEnd(SpdyStreamId stream_id) {
- visitor_->OnStreamEnd(stream_id);
-}
-
-void BufferedSpdyFramer::OnStreamPadding(SpdyStreamId stream_id, size_t len) {
- visitor_->OnStreamPadding(stream_id, len);
-}
-
-SpdyHeadersHandlerInterface* BufferedSpdyFramer::OnHeaderFrameStart(
- SpdyStreamId stream_id) {
- coalescer_.reset(new HeaderCoalescer());
- return coalescer_.get();
-}
-
-void BufferedSpdyFramer::OnHeaderFrameEnd(SpdyStreamId stream_id,
- bool end_headers) {
- if (coalescer_->error_seen()) {
- visitor_->OnStreamError(stream_id,
- "Could not parse Spdy Control Frame Header.");
- control_frame_fields_.reset();
- return;
- }
- DCHECK(control_frame_fields_.get());
- switch (control_frame_fields_->type) {
- case SpdyFrameType::HEADERS:
- visitor_->OnHeaders(
- control_frame_fields_->stream_id, control_frame_fields_->has_priority,
- control_frame_fields_->weight,
- control_frame_fields_->parent_stream_id,
- control_frame_fields_->exclusive, control_frame_fields_->fin,
- coalescer_->release_headers());
- break;
- case SpdyFrameType::PUSH_PROMISE:
- visitor_->OnPushPromise(control_frame_fields_->stream_id,
- control_frame_fields_->promised_stream_id,
- coalescer_->release_headers());
- break;
- default:
- DCHECK(false) << "Unexpect control frame type: "
- << control_frame_fields_->type;
- break;
- }
- control_frame_fields_.reset(NULL);
-}
-
-void BufferedSpdyFramer::OnSettings(bool clear_persisted) {
- visitor_->OnSettings();
-}
-
-void BufferedSpdyFramer::OnSetting(SpdySettingsIds id, uint32_t value) {
- visitor_->OnSetting(id, value);
-}
-
-void BufferedSpdyFramer::OnSettingsAck() {
- visitor_->OnSettingsAck();
-}
-
-void BufferedSpdyFramer::OnSettingsEnd() {
- visitor_->OnSettingsEnd();
-}
-
-void BufferedSpdyFramer::OnPing(SpdyPingId unique_id, bool is_ack) {
- visitor_->OnPing(unique_id, is_ack);
-}
-
-void BufferedSpdyFramer::OnRstStream(SpdyStreamId stream_id,
- SpdyErrorCode error_code) {
- visitor_->OnRstStream(stream_id, error_code);
-}
-void BufferedSpdyFramer::OnGoAway(SpdyStreamId last_accepted_stream_id,
- SpdyErrorCode error_code) {
- DCHECK(!goaway_fields_);
- goaway_fields_.reset(new GoAwayFields());
- goaway_fields_->last_accepted_stream_id = last_accepted_stream_id;
- goaway_fields_->error_code = error_code;
-}
-
-bool BufferedSpdyFramer::OnGoAwayFrameData(const char* goaway_data,
- size_t len) {
- if (len > 0) {
- if (goaway_fields_->debug_data.size() < kGoAwayDebugDataMaxSize) {
- goaway_fields_->debug_data.append(
- goaway_data, std::min(len, kGoAwayDebugDataMaxSize -
- goaway_fields_->debug_data.size()));
- }
- return true;
- }
- visitor_->OnGoAway(goaway_fields_->last_accepted_stream_id,
- goaway_fields_->error_code, goaway_fields_->debug_data);
- goaway_fields_.reset();
- return true;
-}
-
-void BufferedSpdyFramer::OnWindowUpdate(SpdyStreamId stream_id,
- int delta_window_size) {
- visitor_->OnWindowUpdate(stream_id, delta_window_size);
-}
-
-void BufferedSpdyFramer::OnPushPromise(SpdyStreamId stream_id,
- SpdyStreamId promised_stream_id,
- bool end) {
- frames_received_++;
- DCHECK(!control_frame_fields_.get());
- control_frame_fields_.reset(new ControlFrameFields());
- control_frame_fields_->type = SpdyFrameType::PUSH_PROMISE;
- control_frame_fields_->stream_id = stream_id;
- control_frame_fields_->promised_stream_id = promised_stream_id;
-
- DCHECK_NE(stream_id, SpdyFramer::kInvalidStream);
-}
-
-void BufferedSpdyFramer::OnAltSvc(
- SpdyStreamId stream_id,
- SpdyStringPiece origin,
- const SpdyAltSvcWireFormat::AlternativeServiceVector& altsvc_vector) {
- visitor_->OnAltSvc(stream_id, origin, altsvc_vector);
-}
-
-void BufferedSpdyFramer::OnContinuation(SpdyStreamId stream_id, bool end) {
-}
-
-bool BufferedSpdyFramer::OnUnknownFrame(SpdyStreamId stream_id,
- uint8_t frame_type) {
- return visitor_->OnUnknownFrame(stream_id, frame_type);
-}
-
-size_t BufferedSpdyFramer::ProcessInput(const char* data, size_t len) {
- return spdy_framer_.ProcessInput(data, len);
-}
-
-void BufferedSpdyFramer::UpdateHeaderDecoderTableSize(uint32_t value) {
- spdy_framer_.UpdateHeaderDecoderTableSize(value);
-}
-
-void BufferedSpdyFramer::Reset() {
- spdy_framer_.Reset();
-}
-
-SpdyFramer::SpdyFramerError BufferedSpdyFramer::spdy_framer_error() const {
- return spdy_framer_.spdy_framer_error();
-}
-
-SpdyFramer::SpdyState BufferedSpdyFramer::state() const {
- return spdy_framer_.state();
-}
-
-bool BufferedSpdyFramer::MessageFullyRead() {
- return state() == SpdyFramer::SPDY_FRAME_COMPLETE;
-}
-
-bool BufferedSpdyFramer::HasError() {
- return spdy_framer_.HasError();
-}
-
-// TODO(jgraettinger): Eliminate uses of this method (prefer
-// SpdyRstStreamIR).
-std::unique_ptr<SpdySerializedFrame> BufferedSpdyFramer::CreateRstStream(
- SpdyStreamId stream_id,
- SpdyErrorCode error_code) const {
- SpdyRstStreamIR rst_ir(stream_id, error_code);
- return base::MakeUnique<SpdySerializedFrame>(
- spdy_framer_.SerializeRstStream(rst_ir));
-}
-
-// TODO(jgraettinger): Eliminate uses of this method (prefer
-// SpdySettingsIR).
-std::unique_ptr<SpdySerializedFrame> BufferedSpdyFramer::CreateSettings(
- const SettingsMap& values) const {
- SpdySettingsIR settings_ir;
- for (SettingsMap::const_iterator it = values.begin(); it != values.end();
- ++it) {
- settings_ir.AddSetting(it->first, it->second);
- }
- return base::MakeUnique<SpdySerializedFrame>(
- spdy_framer_.SerializeSettings(settings_ir));
-}
-
-// TODO(jgraettinger): Eliminate uses of this method (prefer SpdyPingIR).
-std::unique_ptr<SpdySerializedFrame> BufferedSpdyFramer::CreatePingFrame(
- SpdyPingId unique_id,
- bool is_ack) const {
- SpdyPingIR ping_ir(unique_id);
- ping_ir.set_is_ack(is_ack);
- return base::MakeUnique<SpdySerializedFrame>(
- spdy_framer_.SerializePing(ping_ir));
-}
-
-// TODO(jgraettinger): Eliminate uses of this method (prefer
-// SpdyWindowUpdateIR).
-std::unique_ptr<SpdySerializedFrame> BufferedSpdyFramer::CreateWindowUpdate(
- SpdyStreamId stream_id,
- uint32_t delta_window_size) const {
- SpdyWindowUpdateIR update_ir(stream_id, delta_window_size);
- return base::MakeUnique<SpdySerializedFrame>(
- spdy_framer_.SerializeWindowUpdate(update_ir));
-}
-
-// TODO(jgraettinger): Eliminate uses of this method (prefer SpdyDataIR).
-std::unique_ptr<SpdySerializedFrame> BufferedSpdyFramer::CreateDataFrame(
- SpdyStreamId stream_id,
- const char* data,
- uint32_t len,
- SpdyDataFlags flags) {
- SpdyDataIR data_ir(stream_id, SpdyStringPiece(data, len));
- data_ir.set_fin((flags & DATA_FLAG_FIN) != 0);
- return base::MakeUnique<SpdySerializedFrame>(
- spdy_framer_.SerializeData(data_ir));
-}
-
-// TODO(jgraettinger): Eliminate uses of this method (prefer
-// SpdyPriorityIR).
-std::unique_ptr<SpdySerializedFrame> BufferedSpdyFramer::CreatePriority(
- SpdyStreamId stream_id,
- SpdyStreamId dependency_id,
- int weight,
- bool exclusive) const {
- SpdyPriorityIR priority_ir(stream_id, dependency_id, weight, exclusive);
- return base::MakeUnique<SpdySerializedFrame>(
- spdy_framer_.SerializePriority(priority_ir));
-}
-
-SpdyPriority BufferedSpdyFramer::GetHighestPriority() const {
- return spdy_framer_.GetHighestPriority();
-}
-
-size_t BufferedSpdyFramer::EstimateMemoryUsage() const {
- return SpdyEstimateMemoryUsage(spdy_framer_) +
- SpdyEstimateMemoryUsage(coalescer_) +
- SpdyEstimateMemoryUsage(control_frame_fields_) +
- SpdyEstimateMemoryUsage(goaway_fields_);
-}
-
-size_t BufferedSpdyFramer::GoAwayFields::EstimateMemoryUsage() const {
- return SpdyEstimateMemoryUsage(debug_data);
-}
-
-} // namespace net
« no previous file with comments | « net/spdy/buffered_spdy_framer.h ('k') | net/spdy/buffered_spdy_framer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698