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

Unified Diff: net/spdy/spdy_header_indexing.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/spdy_header_indexing.h ('k') | net/spdy/spdy_header_indexing_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/spdy_header_indexing.cc
diff --git a/net/spdy/spdy_header_indexing.cc b/net/spdy/spdy_header_indexing.cc
deleted file mode 100644
index 881ba86754406fe885fc2a28e30faacbaffc62db..0000000000000000000000000000000000000000
--- a/net/spdy/spdy_header_indexing.cc
+++ /dev/null
@@ -1,176 +0,0 @@
-// Copyright (c) 2016 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/spdy_header_indexing.h"
-
-#include "net/spdy/spdy_bug_tracker.h"
-
-namespace net {
-
-int32_t FLAGS_gfe_spdy_indexing_set_bound = 50;
-int32_t FLAGS_gfe_spdy_tracking_set_bound = 1000;
-
-HeaderIndexing::HeaderIndexing()
- : indexing_set_bound_(FLAGS_gfe_spdy_indexing_set_bound),
- tracking_set_bound_(FLAGS_gfe_spdy_tracking_set_bound) {
- SPDY_BUG_IF(indexing_set_bound_ >= tracking_set_bound_)
- << "Tracking set should be larger than indexing set";
-}
-
-HeaderIndexing::~HeaderIndexing() {}
-
-void HeaderIndexing::CreateInitIndexingHeaders() {
- const SpdyString initial_fields[] = {
- // Estimated top 100 fields.
- "alt-svc",
- "date",
- "cache-control",
- "content-type",
- "expires",
- "location",
- "x-xss-protection",
- "p3p",
- "set-cookie",
- "alternate-protocol",
- "last-modified",
- "server",
- "x-snapchat-request-id",
- "content-disposition",
- "strict-transport-security",
- "x-content-type-options",
- "content-security-policy",
- "x-frame-options",
- "x-snapchat-notice",
- "pragma",
- ":status",
- "content-length",
- "etag",
- "x-cloud-trace-context",
- "vary",
- "access-control-expose-headers",
- "content-encoding",
- "access-control-allow-origin",
- "age",
- ":protocol",
- "via",
- "x-robots-tag",
- "link",
- "access-control-allow-headers",
- "x-google-session-info",
- "x-google-backends",
- "x-google-gfe-request-trace",
- "warning",
- "x-guploader-uploadid",
- "x-cup-server-proof",
- "timing-allow-origin",
- "x-google-trace",
- "access-control-allow-credentials",
- "google-delayed-impression",
- "google-creative-id",
- "access-control-allow-methods",
- "x-ua-compatible",
- "x-google-gfe-response-code-details-trace",
- "google-lineitem-id",
- "version",
- "x-google-dos-service-trace",
- "x-google-service",
- "x-google-gfe-service-trace",
- "sane-time-millis",
- "x-google-netmon-label",
- "x-google-apiary-auth-scopes",
- "x-seed-signature",
- "content-security-policy-report-only",
- "x-auto-login",
- "x-original-content-length",
- "accept-ranges",
- "x-goog-hash",
- "x-google-gfe-response-body-transformations",
- "cf-ray",
- "x-content-security-policy-report-only",
- "x-google-shellfish-status",
- "x-amz-id-2",
- "get-dictionary",
- "grpc-message",
- "x-hw",
- "x-google-gfe-backend-request-info",
- "x-goog-upload-header-x-google-session-info",
- "x-amz-cf-id",
- "x-powered-by",
- "www-authenticate",
- "access-control-max-age",
- "x-spf-response-type",
- "x-goog-meta-encoded_request",
- "x-goog-generation",
- "x-google-gslb-service",
- "x-google-servertype",
- "x-cache",
- "x-chromium-appcache-fallback-override",
- "x-goog-upload-url",
- "x-goog-upload-control-url",
- "content-range",
- "x-seen-by",
- "x-google-apps-framework-action",
- "content-location",
- "x-daystart",
- "x-varnish",
- "fastly-debug-digest",
- "x-daynum",
- "x-goog-stored-content-encoding",
- "x-goog-storage-class",
- "x-google-cookies-blocked",
- "x-range-md5",
- "x-served-by",
- "x-client-wire-protocol",
- "content-language",
- };
-
- indexing_set_.clear();
- indexing_set_ =
- HeaderSet(initial_fields, initial_fields + arraysize(initial_fields));
- tracking_set_ =
- HeaderSet(initial_fields, initial_fields + arraysize(initial_fields));
-}
-
-bool HeaderIndexing::ShouldIndex(SpdyStringPiece header,
- SpdyStringPiece /* value */) {
- total_header_count_++;
- if (header.empty()) {
- return false;
- }
- // header is in indexing set.
- SpdyString header_str(header.data(), header.size());
- if (indexing_set_.find(header_str) != indexing_set_.end()) {
- return true;
- }
- // header not in indexing set. Check tracking set.
- if (tracking_set_.find(header_str) != tracking_set_.end()) {
- // Seen this header before. Add it to indexing set.
- TryInsertHeader(std::move(header_str), &indexing_set_, indexing_set_bound_);
- missed_header_in_tracking_++;
- } else {
- // Add header to tracking set.
- TryInsertHeader(std::move(header_str), &tracking_set_, tracking_set_bound_);
- missed_header_in_indexing_++;
- }
- return false;
-}
-
-void HeaderIndexing::TryInsertHeader(SpdyString&& header,
- HeaderSet* set,
- size_t bound) {
- std::pair<HeaderSet::iterator, bool> result = set->insert(std::move(header));
- if (set->size() > bound) {
- // Reach the size limit. Remove the header next to the newly added header.
- // If the new header is at the end, look for the "next" element at the
- // beginning.
- HeaderSet::iterator it = std::next(result.first);
- if (it != set->end()) {
- set->erase(it);
- } else {
- set->erase(set->begin());
- }
- }
-}
-
-} // namespace net
« no previous file with comments | « net/spdy/spdy_header_indexing.h ('k') | net/spdy/spdy_header_indexing_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698