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

Unified Diff: net/spdy/buffered_spdy_framer.h

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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/socket/websocket_transport_connect_sub_job.cc ('k') | net/spdy/buffered_spdy_framer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/buffered_spdy_framer.h
diff --git a/net/spdy/buffered_spdy_framer.h b/net/spdy/buffered_spdy_framer.h
deleted file mode 100644
index b8428ce32a59d4e5a237958f2bb0a19c30acb01b..0000000000000000000000000000000000000000
--- a/net/spdy/buffered_spdy_framer.h
+++ /dev/null
@@ -1,285 +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.
-
-#ifndef NET_SPDY_BUFFERED_SPDY_FRAMER_H_
-#define NET_SPDY_BUFFERED_SPDY_FRAMER_H_
-
-#include <string>
-
-#include "base/basictypes.h"
-#include "base/gtest_prod_util.h"
-#include "base/memory/scoped_ptr.h"
-#include "net/base/net_export.h"
-#include "net/socket/next_proto.h"
-#include "net/spdy/spdy_framer.h"
-#include "net/spdy/spdy_header_block.h"
-#include "net/spdy/spdy_protocol.h"
-
-namespace net {
-
-// Returns the SPDY major version corresponding to the given NextProto
-// value, which must represent a SPDY-like protocol.
-NET_EXPORT_PRIVATE SpdyMajorVersion NextProtoToSpdyMajorVersion(
- NextProto next_proto);
-
-class NET_EXPORT_PRIVATE BufferedSpdyFramerVisitorInterface {
- public:
- BufferedSpdyFramerVisitorInterface() {}
-
- // Called if an error is detected in the SpdyFrame protocol.
- virtual void OnError(SpdyFramer::SpdyError error_code) = 0;
-
- // Called if an error is detected in a SPDY stream.
- virtual void OnStreamError(SpdyStreamId stream_id,
- const std::string& description) = 0;
-
- // Called after all the header data for SYN_STREAM control frame is received.
- virtual void OnSynStream(SpdyStreamId stream_id,
- SpdyStreamId associated_stream_id,
- SpdyPriority priority,
- bool fin,
- bool unidirectional,
- const SpdyHeaderBlock& headers) = 0;
-
- // Called after all the header data for SYN_REPLY control frame is received.
- virtual void OnSynReply(SpdyStreamId stream_id,
- bool fin,
- const SpdyHeaderBlock& headers) = 0;
-
- // Called after all the header data for HEADERS control frame is received.
- virtual void OnHeaders(SpdyStreamId stream_id,
- bool has_priority,
- SpdyPriority priority,
- bool fin,
- const SpdyHeaderBlock& headers) = 0;
-
- // Called when a data frame header is received.
- virtual void OnDataFrameHeader(SpdyStreamId stream_id,
- size_t length,
- bool fin) = 0;
-
- // Called when data is received.
- // |stream_id| The stream receiving data.
- // |data| A buffer containing the data received.
- // |len| The length of the data buffer (at most 2^24 - 1 for SPDY/3,
- // but 2^16 - 1 - 8 for SPDY/4).
- // When the other side has finished sending data on this stream,
- // this method will be called with a zero-length buffer.
- virtual void OnStreamFrameData(SpdyStreamId stream_id,
- const char* data,
- size_t len,
- bool fin) = 0;
-
- // Called when a SETTINGS frame is received.
- // |clear_persisted| True if the respective flag is set on the SETTINGS frame.
- virtual void OnSettings(bool clear_persisted) = 0;
-
- // Called when an individual setting within a SETTINGS frame has been parsed
- // and validated.
- virtual void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) = 0;
-
- // Called when a SETTINGS frame is received with the ACK flag set.
- virtual void OnSettingsAck() {}
-
- // Called at the completion of parsing SETTINGS id and value tuples.
- virtual void OnSettingsEnd() {}
-
- // Called when a PING frame has been parsed.
- virtual void OnPing(SpdyPingId unique_id, bool is_ack) = 0;
-
- // Called when a RST_STREAM frame has been parsed.
- virtual void OnRstStream(SpdyStreamId stream_id,
- SpdyRstStreamStatus status) = 0;
-
- // Called when a GOAWAY frame has been parsed.
- virtual void OnGoAway(SpdyStreamId last_accepted_stream_id,
- SpdyGoAwayStatus status) = 0;
-
- // Called when a WINDOW_UPDATE frame has been parsed.
- virtual void OnWindowUpdate(SpdyStreamId stream_id,
- uint32 delta_window_size) = 0;
-
- // Called when a PUSH_PROMISE frame has been parsed.
- virtual void OnPushPromise(SpdyStreamId stream_id,
- SpdyStreamId promised_stream_id,
- const SpdyHeaderBlock& headers) = 0;
-
- // Called when a frame type we don't recognize is received.
- // Return true if this appears to be a valid extension frame, false otherwise.
- // We distinguish between extension frames and nonsense by checking
- // whether the stream id is valid.
- virtual bool OnUnknownFrame(SpdyStreamId stream_id, int frame_type) = 0;
-
- protected:
- virtual ~BufferedSpdyFramerVisitorInterface() {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramerVisitorInterface);
-};
-
-class NET_EXPORT_PRIVATE BufferedSpdyFramer
- : public SpdyFramerVisitorInterface {
- public:
- BufferedSpdyFramer(SpdyMajorVersion version,
- bool enable_compression);
- ~BufferedSpdyFramer() override;
-
- // Sets callbacks to be called from the buffered spdy framer. A visitor must
- // be set, or else the framer will likely crash. It is acceptable for the
- // visitor to do nothing. If this is called multiple times, only the last
- // visitor will be used.
- void set_visitor(BufferedSpdyFramerVisitorInterface* visitor);
-
- // Set debug callbacks to be called from the framer. The debug visitor is
- // completely optional and need not be set in order for normal operation.
- // If this is called multiple times, only the last visitor will be used.
- void set_debug_visitor(SpdyFramerDebugVisitorInterface* debug_visitor);
-
- // SpdyFramerVisitorInterface
- void OnError(SpdyFramer* spdy_framer) override;
- void OnSynStream(SpdyStreamId stream_id,
- SpdyStreamId associated_stream_id,
- SpdyPriority priority,
- bool fin,
- bool unidirectional) override;
- void OnSynReply(SpdyStreamId stream_id, bool fin) override;
- void OnHeaders(SpdyStreamId stream_id,
- bool has_priority,
- SpdyPriority priority,
- bool fin,
- bool end) override;
- bool OnControlFrameHeaderData(SpdyStreamId stream_id,
- const char* header_data,
- size_t len) override;
- void OnStreamFrameData(SpdyStreamId stream_id,
- const char* data,
- size_t len,
- bool fin) override;
- void OnSettings(bool clear_persisted) override;
- void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override;
- void OnSettingsAck() override;
- void OnSettingsEnd() override;
- void OnPing(SpdyPingId unique_id, bool is_ack) override;
- void OnRstStream(SpdyStreamId stream_id, SpdyRstStreamStatus status) override;
- void OnGoAway(SpdyStreamId last_accepted_stream_id,
- SpdyGoAwayStatus status) override;
- void OnWindowUpdate(SpdyStreamId stream_id,
- uint32 delta_window_size) override;
- void OnPushPromise(SpdyStreamId stream_id,
- SpdyStreamId promised_stream_id,
- bool end) override;
- void OnDataFrameHeader(SpdyStreamId stream_id,
- size_t length,
- bool fin) override;
- void OnContinuation(SpdyStreamId stream_id, bool end) override;
- bool OnUnknownFrame(SpdyStreamId stream_id, int frame_type) override;
-
- // SpdyFramer methods.
- size_t ProcessInput(const char* data, size_t len);
- SpdyMajorVersion protocol_version();
- void Reset();
- SpdyFramer::SpdyError error_code() const;
- SpdyFramer::SpdyState state() const;
- bool MessageFullyRead();
- bool HasError();
- SpdyFrame* CreateSynStream(SpdyStreamId stream_id,
- SpdyStreamId associated_stream_id,
- SpdyPriority priority,
- SpdyControlFlags flags,
- const SpdyHeaderBlock* headers);
- SpdyFrame* CreateSynReply(SpdyStreamId stream_id,
- SpdyControlFlags flags,
- const SpdyHeaderBlock* headers);
- SpdyFrame* CreateRstStream(SpdyStreamId stream_id,
- SpdyRstStreamStatus status) const;
- SpdyFrame* CreateSettings(const SettingsMap& values) const;
- SpdyFrame* CreatePingFrame(SpdyPingId unique_id, bool is_ack) const;
- SpdyFrame* CreateGoAway(
- SpdyStreamId last_accepted_stream_id,
- SpdyGoAwayStatus status) const;
- SpdyFrame* CreateHeaders(SpdyStreamId stream_id,
- SpdyControlFlags flags,
- SpdyPriority priority,
- const SpdyHeaderBlock* headers);
- SpdyFrame* CreateWindowUpdate(
- SpdyStreamId stream_id,
- uint32 delta_window_size) const;
- SpdyFrame* CreateDataFrame(SpdyStreamId stream_id,
- const char* data,
- uint32 len,
- SpdyDataFlags flags);
- SpdyFrame* CreatePushPromise(SpdyStreamId stream_id,
- SpdyStreamId promised_stream_id,
- const SpdyHeaderBlock* headers);
-
- // Serialize a frame of unknown type.
- SpdySerializedFrame* SerializeFrame(const SpdyFrameIR& frame) {
- return spdy_framer_.SerializeFrame(frame);
- }
-
- SpdyPriority GetHighestPriority() const;
-
- size_t GetDataFrameMinimumSize() const {
- return spdy_framer_.GetDataFrameMinimumSize();
- }
-
- size_t GetControlFrameHeaderSize() const {
- return spdy_framer_.GetControlFrameHeaderSize();
- }
-
- size_t GetSynStreamMinimumSize() const {
- return spdy_framer_.GetSynStreamMinimumSize();
- }
-
- size_t GetFrameMinimumSize() const {
- return spdy_framer_.GetFrameMinimumSize();
- }
-
- size_t GetFrameMaximumSize() const {
- return spdy_framer_.GetFrameMaximumSize();
- }
-
- size_t GetDataFrameMaximumPayload() const {
- return spdy_framer_.GetDataFrameMaximumPayload();
- }
-
- int frames_received() const { return frames_received_; }
-
- private:
- // The size of the header_buffer_.
- enum { kHeaderBufferSize = 32 * 1024 };
-
- void InitHeaderStreaming(SpdyStreamId stream_id);
-
- SpdyFramer spdy_framer_;
- BufferedSpdyFramerVisitorInterface* visitor_;
-
- // Header block streaming state:
- char header_buffer_[kHeaderBufferSize];
- size_t header_buffer_used_;
- bool header_buffer_valid_;
- SpdyStreamId header_stream_id_;
- int frames_received_;
-
- // Collection of fields from control frames that we need to
- // buffer up from the spdy framer.
- struct ControlFrameFields {
- SpdyFrameType type;
- SpdyStreamId stream_id;
- SpdyStreamId associated_stream_id;
- SpdyStreamId promised_stream_id;
- bool has_priority;
- SpdyPriority priority;
- uint8 credential_slot;
- bool fin;
- bool unidirectional;
- };
- scoped_ptr<ControlFrameFields> control_frame_fields_;
-
- DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer);
-};
-
-} // namespace net
-
-#endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_
« no previous file with comments | « net/socket/websocket_transport_connect_sub_job.cc ('k') | net/spdy/buffered_spdy_framer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698