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

Unified Diff: net/tools/balsa/balsa_frame.h

Issue 2477703002: Remove now unused Balsa code. (Closed)
Patch Set: Rebase Created 4 years, 1 month 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/tools/balsa/balsa_enums.h ('k') | net/tools/balsa/balsa_frame.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/balsa/balsa_frame.h
diff --git a/net/tools/balsa/balsa_frame.h b/net/tools/balsa/balsa_frame.h
deleted file mode 100644
index 97025ddba44951621f372f5e19ccc247e3b6fec7..0000000000000000000000000000000000000000
--- a/net/tools/balsa/balsa_frame.h
+++ /dev/null
@@ -1,258 +0,0 @@
-// Copyright 2013 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_TOOLS_BALSA_BALSA_FRAME_H_
-#define NET_TOOLS_BALSA_BALSA_FRAME_H_
-
-#include <stddef.h>
-#include <stdint.h>
-
-#include <utility>
-#include <vector>
-
-#include "base/compiler_specific.h"
-#include "net/tools/balsa/balsa_enums.h"
-#include "net/tools/balsa/balsa_headers.h"
-#include "net/tools/balsa/balsa_visitor_interface.h"
-#include "net/tools/balsa/buffer_interface.h"
-#include "net/tools/balsa/http_message_constants.h"
-#include "net/tools/balsa/simple_buffer.h"
-
-// For additional debug output, uncomment the following:
-// #define DEBUGFRAMER 1
-
-namespace net {
-
-// BalsaFrame is a 'Model' of a framer (haha).
-// It exists as a proof of concept headers framer.
-class BalsaFrame {
- public:
- typedef std::vector<std::pair<size_t, size_t> > Lines;
-
- typedef BalsaHeaders::HeaderLineDescription HeaderLineDescription;
- typedef BalsaHeaders::HeaderLines HeaderLines;
- typedef BalsaHeaders::HeaderTokenList HeaderTokenList;
-
- // TODO(fenix): get rid of the 'kValidTerm*' stuff by using the 'since last
- // index' strategy. Note that this implies getting rid of the HeaderFramed()
-
- static const uint32_t kValidTerm1 = '\n' << 16 | '\r' << 8 | '\n';
- static const uint32_t kValidTerm1Mask = 0xFF << 16 | 0xFF << 8 | 0xFF;
- static const uint32_t kValidTerm2 = '\n' << 8 | '\n';
- static const uint32_t kValidTerm2Mask = 0xFF << 8 | 0xFF;
- BalsaFrame();
- ~BalsaFrame();
-
- // Reset reinitializes all the member variables of the framer and clears the
- // attached header object (but doesn't change the pointer value headers_).
- void Reset();
-
- const BalsaHeaders* const_balsa_headers() const { return headers_; }
- BalsaHeaders* balsa_headers() { return headers_; }
- // The method set_balsa_headers clears the headers provided and attaches them
- // to the framer. This is a required step before the framer will process any
- // input message data.
- // To detach the header object from the framer, use set_balsa_headers(NULL).
- void set_balsa_headers(BalsaHeaders* headers) {
- if (headers_ != headers) {
- headers_ = headers;
- }
- if (headers_) {
- // Clear the headers if they are non-null, even if the new headers are
- // the same as the old.
- headers_->Clear();
- }
- }
-
- void set_balsa_visitor(BalsaVisitorInterface* visitor) {
- visitor_ = visitor;
- if (visitor_ == NULL) {
- visitor_ = &do_nothing_visitor_;
- }
- }
-
- void set_is_request(bool is_request) { is_request_ = is_request; }
-
- bool is_request() const {
- return is_request_;
- }
-
- void set_request_was_head(bool request_was_head) {
- request_was_head_ = request_was_head;
- }
-
- bool request_was_head() const {
- return request_was_head_;
- }
-
- void set_max_header_length(size_t max_header_length) {
- max_header_length_ = max_header_length;
- }
-
- size_t max_header_length() const {
- return max_header_length_;
- }
-
- void set_max_request_uri_length(size_t max_request_uri_length) {
- max_request_uri_length_ = max_request_uri_length;
- }
-
- size_t max_request_uri_length() const {
- return max_request_uri_length_;
- }
-
-
- bool MessageFullyRead() {
- return parse_state_ == BalsaFrameEnums::MESSAGE_FULLY_READ;
- }
-
- BalsaFrameEnums::ParseState ParseState() const { return parse_state_; }
-
-
- bool Error() {
- return parse_state_ == BalsaFrameEnums::PARSE_ERROR;
- }
-
- BalsaFrameEnums::ErrorCode ErrorCode() const { return last_error_; }
-
- const BalsaHeaders* headers() const { return headers_; }
- BalsaHeaders* mutable_headers() { return headers_; }
-
- size_t BytesSafeToSplice() const;
- void BytesSpliced(size_t bytes_spliced);
-
- size_t ProcessInput(const char* input, size_t size);
-
- // Parses input and puts the key, value chunk extensions into extensions.
- // TODO(phython): Find a better data structure to put the extensions into.
- static void ProcessChunkExtensions(const char* input, size_t size,
- BalsaHeaders* extensions);
-
- protected:
- // The utils object needs access to the ParseTokenList in order to do its
- // job.
- friend class BalsaHeadersTokenUtils;
-
- inline void ProcessContentLengthLine(
- size_t line_idx,
- BalsaHeadersEnums::ContentLengthStatus* status,
- size_t* length);
-
- inline void ProcessTransferEncodingLine(size_t line_idx);
-
- void ProcessFirstLine(const char* begin,
- const char* end);
-
- void CleanUpKeyValueWhitespace(
- const char* stream_begin,
- const char* line_begin,
- const char* current,
- const char* line_end,
- HeaderLineDescription* current_header_line);
-
- void FindColonsAndParseIntoKeyValue();
-
- void ProcessHeaderLines();
-
- inline size_t ProcessHeaders(const char* message_start,
- size_t message_length);
-
- void AssignParseStateAfterHeadersHaveBeenParsed();
-
- inline bool LineFramingFound(char current_char) {
- return current_char == '\n';
- }
-
- // TODO(fenix): get rid of the following function and its uses (and
- // replace with something more efficient)
- inline bool HeaderFramingFound(char current_char) {
- // Note that the 'if (current_char == '\n' ...)' test exists to ensure that
- // the HeaderFramingMayBeFound test works properly. In benchmarking done on
- // 2/13/2008, the 'if' actually speeds up performance of the function
- // anyway..
- if (current_char == '\n' || current_char == '\r') {
- term_chars_ <<= 8;
- // This is necessary IFF architecture has > 8 bit char. Alas, I'm
- // paranoid.
- term_chars_ |= current_char & 0xFF;
-
- if ((term_chars_ & kValidTerm1Mask) == kValidTerm1) {
- term_chars_ = 0;
- return true;
- }
- if ((term_chars_ & kValidTerm2Mask) == kValidTerm2) {
- term_chars_ = 0;
- return true;
- }
- } else {
- term_chars_ = 0;
- }
- return false;
- }
-
- inline bool HeaderFramingMayBeFound() const {
- return term_chars_ != 0;
- }
-
- private:
- class DoNothingBalsaVisitor : public BalsaVisitorInterface {
- void ProcessBodyInput(const char* input, size_t size) override {}
- void ProcessBodyData(const char* input, size_t size) override {}
- void ProcessHeaderInput(const char* input, size_t size) override {}
- void ProcessTrailerInput(const char* input, size_t size) override {}
- void ProcessHeaders(const BalsaHeaders& headers) override {}
- void ProcessRequestFirstLine(const char* line_input,
- size_t line_length,
- const char* method_input,
- size_t method_length,
- const char* request_uri_input,
- size_t request_uri_length,
- const char* version_input,
- size_t version_length) override {}
- void ProcessResponseFirstLine(const char* line_input,
- size_t line_length,
- const char* version_input,
- size_t version_length,
- const char* status_input,
- size_t status_length,
- const char* reason_input,
- size_t reason_length) override {}
- void ProcessChunkLength(size_t chunk_length) override {}
- void ProcessChunkExtensions(const char* input, size_t size) override {}
- void HeaderDone() override {}
- void MessageDone() override {}
- void HandleHeaderError(BalsaFrame* framer) override {}
- void HandleHeaderWarning(BalsaFrame* framer) override {}
- void HandleChunkingError(BalsaFrame* framer) override {}
- void HandleBodyError(BalsaFrame* framer) override {}
- };
-
- bool last_char_was_slash_r_;
- bool saw_non_newline_char_;
- bool start_was_space_;
- bool chunk_length_character_extracted_;
- bool is_request_; // This is not reset in Reset()
- bool request_was_head_; // This is not reset in Reset()
- size_t max_header_length_; // This is not reset in Reset()
- size_t max_request_uri_length_; // This is not reset in Reset()
- BalsaVisitorInterface* visitor_;
- size_t chunk_length_remaining_;
- size_t content_length_remaining_;
- const char* last_slash_n_loc_;
- const char* last_recorded_slash_n_loc_;
- size_t last_slash_n_idx_;
- uint32_t term_chars_;
- BalsaFrameEnums::ParseState parse_state_;
- BalsaFrameEnums::ErrorCode last_error_;
-
- Lines lines_;
-
- BalsaHeaders* headers_; // This is not reset to NULL in Reset().
- DoNothingBalsaVisitor do_nothing_visitor_;
-};
-
-} // namespace net
-
-#endif // NET_TOOLS_BALSA_BALSA_FRAME_H_
-
« no previous file with comments | « net/tools/balsa/balsa_enums.h ('k') | net/tools/balsa/balsa_frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698