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

Side by Side Diff: net/base/sdch_manager.h

Issue 11810: Adjust histograms to get better data for latency experiments... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Provides global database of differential decompression dictionaries for the 5 // Provides global database of differential decompression dictionaries for the
6 // SDCH filter (processes sdch enconded content). 6 // SDCH filter (processes sdch enconded content).
7 7
8 // Exactly one instance of SdchManager is built, and all references are made 8 // Exactly one instance of SdchManager is built, and all references are made
9 // into that collection. 9 // into that collection.
10 // 10 //
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 }; 49 };
50 //------------------------------------------------------------------------------ 50 //------------------------------------------------------------------------------
51 51
52 class SdchManager { 52 class SdchManager {
53 public: 53 public:
54 // A list of errors that appeared and were either resolved, or used to turn 54 // A list of errors that appeared and were either resolved, or used to turn
55 // off sdch encoding. 55 // off sdch encoding.
56 enum ProblemCodes { 56 enum ProblemCodes {
57 MIN_PROBLEM_CODE, 57 MIN_PROBLEM_CODE,
58 58
59 // Content Decode problems. 59 // Content-encoding correction problems.
60 ADDED_CONTENT_ENCODING, 60 ADDED_CONTENT_ENCODING,
Lincoln 2008/11/24 17:31:42 Do you want to add explicit initializers to these
61 FIXED_CONTENT_ENCODING, 61 FIXED_CONTENT_ENCODING,
62 FIXED_CONTENT_ENCODINGS, 62 FIXED_CONTENT_ENCODINGS,
63 63
64 // Content decoding errors. 64 // Content decoding errors.
65 DECODE_HEADER_ERROR, 65 DECODE_HEADER_ERROR,
66 DECODE_BODY_ERROR, 66 DECODE_BODY_ERROR,
67 67
68 // More content-encoding correction problems.
69 OPTIONAL_GUNZIP_ENCODING_ADDED,
70
68 // Dictionary selection for use problems. 71 // Dictionary selection for use problems.
69 DICTIONARY_FOUND_HAS_WRONG_DOMAIN = 10, 72 DICTIONARY_FOUND_HAS_WRONG_DOMAIN = 10,
70 DICTIONARY_FOUND_HAS_WRONG_PORT_LIST, 73 DICTIONARY_FOUND_HAS_WRONG_PORT_LIST = 11,
71 DICTIONARY_FOUND_HAS_WRONG_PATH, 74 DICTIONARY_FOUND_HAS_WRONG_PATH = 12,
72 DICTIONARY_FOUND_HAS_WRONG_SCHEME, 75 DICTIONARY_FOUND_HAS_WRONG_SCHEME = 13,
73 DICTIONARY_HASH_NOT_FOUND, 76 DICTIONARY_HASH_NOT_FOUND = 14,
74 DICTIONARY_HASH_MALFORMED, 77 DICTIONARY_HASH_MALFORMED = 15,
75 78
76 // Decode recovery methods. 79 // Decode recovery methods.
77 META_REFRESH_RECOVERY, 80 META_REFRESH_RECOVERY = 16,
78 PASSING_THROUGH_NON_SDCH, 81 PASSING_THROUGH_NON_SDCH = 17,
79 UNRECOVERABLE_ERROR, 82 UNRECOVERABLE_ERROR = 18,
80 83
81 // Dictionary saving problems. 84 // Dictionary saving problems.
82 DICTIONARY_HAS_NO_HEADER = 20, 85 DICTIONARY_HAS_NO_HEADER = 20,
83 DICTIONARY_HEADER_LINE_MISSING_COLON, 86 DICTIONARY_HEADER_LINE_MISSING_COLON = 21,
84 DICTIONARY_MISSING_DOMAIN_SPECIFIER, 87 DICTIONARY_MISSING_DOMAIN_SPECIFIER = 22,
85 DICTIONARY_SPECIFIES_TOP_LEVEL_DOMAIN, 88 DICTIONARY_SPECIFIES_TOP_LEVEL_DOMAIN = 23,
86 DICTIONARY_DOMAIN_NOT_MATCHING_SOURCE_URL, 89 DICTIONARY_DOMAIN_NOT_MATCHING_SOURCE_URL = 24,
87 DICTIONARY_PORT_NOT_MATCHING_SOURCE_URL, 90 DICTIONARY_PORT_NOT_MATCHING_SOURCE_URL = 25,
88 DICTIONARY_HAS_NO_TEXT, 91 DICTIONARY_HAS_NO_TEXT = 26,
89 92
90 // Dictionary loading problems. 93 // Dictionary loading problems.
91 DICTIONARY_LOAD_ATTEMPT_FROM_DIFFERENT_HOST = 30, 94 DICTIONARY_LOAD_ATTEMPT_FROM_DIFFERENT_HOST = 30,
92 DICTIONARY_SELECTED_FOR_SSL, 95 DICTIONARY_SELECTED_FOR_SSL = 31,
93 DICTIONARY_ALREADY_LOADED, 96 DICTIONARY_ALREADY_LOADED = 32,
94 DICTIONARY_SELECTED_FROM_NON_HTTP, 97 DICTIONARY_SELECTED_FROM_NON_HTTP = 33,
95 DICTIONARY_IS_TOO_LARGE, 98 DICTIONARY_IS_TOO_LARGE= 34,
96 DICTIONARY_COUNT_EXCEEDED, 99 DICTIONARY_COUNT_EXCEEDED = 35,
97 100
98 // Failsafe hack. 101 // Failsafe hack.
99 ATTEMPT_TO_DECODE_NON_HTTP_DATA = 40, 102 ATTEMPT_TO_DECODE_NON_HTTP_DATA = 40,
100 103
104
105 // Content-Encoding problems detected, with no action taken.
106 MULTIENCODING_FOR_NON_SDCH_REQUEST = 50,
107 SDCH_CONTENT_ENCODE_FOR_NON_SDCH_REQUEST = 51,
108
101 MAX_PROBLEM_CODE // Used to bound histogram. 109 MAX_PROBLEM_CODE // Used to bound histogram.
102 }; 110 };
103 111
104 // Use the following static limits to block DOS attacks until we implement 112 // Use the following static limits to block DOS attacks until we implement
105 // a cached dictionary evicition strategy. 113 // a cached dictionary evicition strategy.
106 static const size_t kMaxDictionarySize; 114 static const size_t kMaxDictionarySize;
107 static const size_t kMaxDictionaryCount; 115 static const size_t kMaxDictionaryCount;
108 116
109 // There is one instance of |Dictionary| for each memory-cached SDCH 117 // There is one instance of |Dictionary| for each memory-cached SDCH
110 // dictionary. 118 // dictionary.
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 // domain is supported. 273 // domain is supported.
266 std::string supported_domain_; 274 std::string supported_domain_;
267 275
268 // List domains where decode failures have required disabling sdch. 276 // List domains where decode failures have required disabling sdch.
269 std::set<std::string> blacklisted_domains_; 277 std::set<std::string> blacklisted_domains_;
270 278
271 DISALLOW_COPY_AND_ASSIGN(SdchManager); 279 DISALLOW_COPY_AND_ASSIGN(SdchManager);
272 }; 280 };
273 281
274 #endif // NET_BASE_SDCH_MANAGER_H_ 282 #endif // NET_BASE_SDCH_MANAGER_H_
OLDNEW
« base/histogram.h ('K') | « net/base/sdch_filter.cc ('k') | net/base/sdch_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698