OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "net/quic/quic_utils.h" | 5 #include "net/quic/quic_utils.h" |
6 | 6 |
7 #include <ctype.h> | 7 #include <ctype.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 return string(chars, sizeof(chars)); | 285 return string(chars, sizeof(chars)); |
286 } | 286 } |
287 | 287 |
288 return base::UintToString(orig_tag); | 288 return base::UintToString(orig_tag); |
289 } | 289 } |
290 | 290 |
291 // static | 291 // static |
292 QuicTagVector QuicUtils::ParseQuicConnectionOptions( | 292 QuicTagVector QuicUtils::ParseQuicConnectionOptions( |
293 const std::string& connection_options) { | 293 const std::string& connection_options) { |
294 QuicTagVector options; | 294 QuicTagVector options; |
295 std::vector<std::string> tokens; | |
296 base::SplitString(connection_options, ',', &tokens); | |
297 // Tokens are expected to be no more than 4 characters long, but we | 295 // Tokens are expected to be no more than 4 characters long, but we |
298 // handle overflow gracefully. | 296 // handle overflow gracefully. |
299 for (const std::string& token : tokens) { | 297 for (const base::StringPiece& token : |
| 298 base::SplitStringPiece(connection_options, ",", base::TRIM_WHITESPACE, |
| 299 base::SPLIT_WANT_ALL)) { |
300 uint32 option = 0; | 300 uint32 option = 0; |
301 for (char token_char : base::Reversed(token)) { | 301 for (char token_char : base::Reversed(token)) { |
302 option <<= 8; | 302 option <<= 8; |
303 option |= static_cast<unsigned char>(token_char); | 303 option |= static_cast<unsigned char>(token_char); |
304 } | 304 } |
305 options.push_back(option); | 305 options.push_back(option); |
306 } | 306 } |
307 return options; | 307 return options; |
308 } | 308 } |
309 | 309 |
(...skipping 28 matching lines...) Expand all Loading... |
338 } | 338 } |
339 return s; | 339 return s; |
340 } | 340 } |
341 | 341 |
342 // static | 342 // static |
343 QuicPriority QuicUtils::HighestPriority() { | 343 QuicPriority QuicUtils::HighestPriority() { |
344 return QuicWriteBlockedList::kHighestPriority; | 344 return QuicWriteBlockedList::kHighestPriority; |
345 } | 345 } |
346 | 346 |
347 } // namespace net | 347 } // namespace net |
OLD | NEW |