Replace QuicheTextUtils methods with absl::SimpleAtoi.
PiperOrigin-RevId: 339269770
Change-Id: I5a032260e18aa9f2ea23ffd4ff6bd6d8d28d77fc
diff --git a/quic/core/http/quic_receive_control_stream.cc b/quic/core/http/quic_receive_control_stream.cc
index 493ad0d..744e2ec 100644
--- a/quic/core/http/quic_receive_control_stream.cc
+++ b/quic/core/http/quic_receive_control_stream.cc
@@ -6,6 +6,7 @@
#include <utility>
+#include "absl/strings/numbers.h"
#include "absl/strings/string_view.h"
#include "net/third_party/quiche/src/quic/core/http/http_constants.h"
#include "net/third_party/quiche/src/quic/core/http/http_decoder.h"
@@ -229,8 +230,7 @@
absl::string_view value = key_and_value[1];
int urgency;
- if (!quiche::QuicheTextUtils::StringToInt(value, &urgency) || urgency < 0 ||
- urgency > 7) {
+ if (!absl::SimpleAtoi(value, &urgency) || urgency < 0 || urgency > 7) {
stream_delegate()->OnStreamError(
QUIC_INVALID_STREAM_ID,
"Invalid value for PRIORITY_UPDATE urgency parameter.");
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index 8658f8e..eb7228b 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -11,6 +11,7 @@
#include <utility>
#include "absl/base/attributes.h"
+#include "absl/strings/numbers.h"
#include "absl/strings/string_view.h"
#include "net/third_party/quiche/src/quic/core/http/http_constants.h"
#include "net/third_party/quiche/src/quic/core/http/quic_headers_stream.h"
@@ -524,8 +525,7 @@
const std::string& header_key = header.first;
const std::string& header_value = header.second;
if (header_key == kFinalOffsetHeaderKey) {
- if (!quiche::QuicheTextUtils::StringToSizeT(header_value,
- &final_byte_offset)) {
+ if (!absl::SimpleAtoi(header_value, &final_byte_offset)) {
connection()->CloseConnection(
QUIC_INVALID_HEADERS_STREAM_DATA,
"Trailers are malformed (no final offset)",
diff --git a/quic/core/http/quic_spdy_stream.cc b/quic/core/http/quic_spdy_stream.cc
index f069bad..c58bb03 100644
--- a/quic/core/http/quic_spdy_stream.cc
+++ b/quic/core/http/quic_spdy_stream.cc
@@ -9,6 +9,7 @@
#include <utility>
#include "absl/base/macros.h"
+#include "absl/strings/numbers.h"
#include "absl/strings/string_view.h"
#include "net/third_party/quiche/src/quic/core/http/http_constants.h"
#include "net/third_party/quiche/src/quic/core/http/http_decoder.h"
@@ -844,7 +845,7 @@
if (!isdigit(status[1]) || !isdigit(status[2])) {
return false;
}
- return quiche::QuicheTextUtils::StringToInt(status, status_code);
+ return absl::SimpleAtoi(status, status_code);
}
bool QuicSpdyStream::FinishedReadingTrailers() const {
diff --git a/quic/core/http/spdy_utils.cc b/quic/core/http/spdy_utils.cc
index 87025e4..0eb05a8 100644
--- a/quic/core/http/spdy_utils.cc
+++ b/quic/core/http/spdy_utils.cc
@@ -8,6 +8,7 @@
#include <string>
#include <vector>
+#include "absl/strings/numbers.h"
#include "absl/strings/string_view.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
@@ -34,7 +35,7 @@
quiche::QuicheTextUtils::Split(content_length_header, '\0');
for (const absl::string_view& value : values) {
uint64_t new_value;
- if (!quiche::QuicheTextUtils::StringToUint64(value, &new_value) ||
+ if (!absl::SimpleAtoi(value, &new_value) ||
!quiche::QuicheTextUtils::IsAllDigits(value)) {
QUIC_DLOG(ERROR)
<< "Content length was either unparseable or negative.";
@@ -96,7 +97,7 @@
// response body bytes expected.
if (expect_final_byte_offset && !found_final_byte_offset &&
name == kFinalOffsetHeaderKey &&
- quiche::QuicheTextUtils::StringToSizeT(p.second, final_byte_offset)) {
+ absl::SimpleAtoi(p.second, final_byte_offset)) {
found_final_byte_offset = true;
continue;
}
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index 155e76d..66765b0 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -14,6 +14,7 @@
#include "absl/base/attributes.h"
#include "absl/base/macros.h"
#include "absl/base/optimization.h"
+#include "absl/strings/numbers.h"
#include "absl/strings/string_view.h"
#include "net/third_party/quiche/src/quic/core/crypto/crypto_framer.h"
#include "net/third_party/quiche/src/quic/core/crypto/crypto_handshake.h"
@@ -6846,7 +6847,7 @@
quiche::QuicheTextUtils::Split(frame->error_details, ':');
uint64_t extracted_error_code;
if (ed.size() < 2 || !quiche::QuicheTextUtils::IsAllDigits(ed[0]) ||
- !quiche::QuicheTextUtils::StringToUint64(ed[0], &extracted_error_code)) {
+ !absl::SimpleAtoi(ed[0], &extracted_error_code)) {
if (frame->close_type == IETF_QUIC_TRANSPORT_CONNECTION_CLOSE &&
frame->wire_error_code == NO_IETF_QUIC_ERROR) {
frame->quic_error_code = QUIC_NO_ERROR;
diff --git a/quic/core/quic_versions.cc b/quic/core/quic_versions.cc
index 98bef7f..4c5571f 100644
--- a/quic/core/quic_versions.cc
+++ b/quic/core/quic_versions.cc
@@ -7,6 +7,7 @@
#include <string>
#include "absl/base/macros.h"
+#include "absl/strings/numbers.h"
#include "net/third_party/quiche/src/quic/core/crypto/quic_random.h"
#include "net/third_party/quiche/src/quic/core/quic_tag.h"
#include "net/third_party/quiche/src/quic/core/quic_types.h"
@@ -333,8 +334,7 @@
return UnsupportedQuicVersion();
}
int quic_version_number = 0;
- if (quiche::QuicheTextUtils::StringToInt(version_string,
- &quic_version_number) &&
+ if (absl::SimpleAtoi(version_string, &quic_version_number) &&
quic_version_number > 0) {
QuicTransportVersion transport_version =
static_cast<QuicTransportVersion>(quic_version_number);
diff --git a/quic/test_tools/qpack/qpack_offline_decoder.cc b/quic/test_tools/qpack/qpack_offline_decoder.cc
index 211417f..38cd8fb 100644
--- a/quic/test_tools/qpack/qpack_offline_decoder.cc
+++ b/quic/test_tools/qpack/qpack_offline_decoder.cc
@@ -31,6 +31,7 @@
#include <utility>
#include "absl/strings/match.h"
+#include "absl/strings/numbers.h"
#include "absl/strings/string_view.h"
#include "net/third_party/quiche/src/quic/core/quic_types.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_file_utils.h"
@@ -102,8 +103,7 @@
// Maximum allowed number of blocked streams.
uint64_t max_blocked_streams = 0;
- if (!quiche::QuicheTextUtils::StringToUint64(*piece_it,
- &max_blocked_streams)) {
+ if (!absl::SimpleAtoi(*piece_it, &max_blocked_streams)) {
QUIC_LOG(ERROR) << "Error parsing part of input filename \"" << *piece_it
<< "\" as an integer.";
return false;
@@ -113,8 +113,7 @@
// Maximum Dynamic Table Capacity in bytes
uint64_t maximum_dynamic_table_capacity = 0;
- if (!quiche::QuicheTextUtils::StringToUint64(
- *piece_it, &maximum_dynamic_table_capacity)) {
+ if (!absl::SimpleAtoi(*piece_it, &maximum_dynamic_table_capacity)) {
QUIC_LOG(ERROR) << "Error parsing part of input filename \"" << *piece_it
<< "\" as an integer.";
return false;
diff --git a/quic/tools/quic_memory_cache_backend.cc b/quic/tools/quic_memory_cache_backend.cc
index 84596fd..f6ecadd 100644
--- a/quic/tools/quic_memory_cache_backend.cc
+++ b/quic/tools/quic_memory_cache_backend.cc
@@ -7,6 +7,7 @@
#include <utility>
#include "absl/strings/match.h"
+#include "absl/strings/numbers.h"
#include "absl/strings/string_view.h"
#include "net/third_party/quiche/src/quic/core/http/spdy_utils.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h"
@@ -145,8 +146,8 @@
if (it == responses_.end()) {
uint64_t ignored = 0;
if (generate_bytes_response_) {
- if (quiche::QuicheTextUtils::StringToUint64(
- absl::string_view(path.data() + 1, path.size() - 1), &ignored)) {
+ if (absl::SimpleAtoi(absl::string_view(path.data() + 1, path.size() - 1),
+ &ignored)) {
// The actual parsed length is ignored here and will be recomputed
// by the caller.
return generate_bytes_response_.get();
diff --git a/quic/tools/quic_reject_reason_decoder_bin.cc b/quic/tools/quic_reject_reason_decoder_bin.cc
index f7e3b75..f17cd03 100644
--- a/quic/tools/quic_reject_reason_decoder_bin.cc
+++ b/quic/tools/quic_reject_reason_decoder_bin.cc
@@ -7,6 +7,7 @@
#include <iostream>
+#include "absl/strings/numbers.h"
#include "net/third_party/quiche/src/quic/core/crypto/crypto_handshake.h"
#include "net/third_party/quiche/src/quic/core/crypto/crypto_utils.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
@@ -27,7 +28,7 @@
}
uint32_t packed_error = 0;
- if (!quiche::QuicheTextUtils::StringToUint32(args[0], &packed_error)) {
+ if (!absl::SimpleAtoi(args[0], &packed_error)) {
std::cerr << "Unable to parse: " << args[0] << "\n";
return 2;
}
diff --git a/quic/tools/quic_simple_server_stream.cc b/quic/tools/quic_simple_server_stream.cc
index bbae2bc..93b4356 100644
--- a/quic/tools/quic_simple_server_stream.cc
+++ b/quic/tools/quic_simple_server_stream.cc
@@ -7,6 +7,7 @@
#include <list>
#include <utility>
+#include "absl/strings/numbers.h"
#include "absl/strings/string_view.h"
#include "net/third_party/quiche/src/quic/core/http/quic_spdy_stream.h"
#include "net/third_party/quiche/src/quic/core/http/spdy_utils.h"
@@ -257,8 +258,7 @@
if (response->response_type() == QuicBackendResponse::GENERATE_BYTES) {
QUIC_DVLOG(1) << "Stream " << id() << " sending a generate bytes response.";
std::string path = request_headers_[":path"].as_string().substr(1);
- if (!quiche::QuicheTextUtils::StringToUint64(path,
- &generate_bytes_length_)) {
+ if (!absl::SimpleAtoi(path, &generate_bytes_length_)) {
QUIC_LOG(ERROR) << "Path is not a number.";
SendNotFoundResponse();
return;
diff --git a/quic/tools/quic_spdy_client_base.cc b/quic/tools/quic_spdy_client_base.cc
index e96b19c..134e673 100644
--- a/quic/tools/quic_spdy_client_base.cc
+++ b/quic/tools/quic_spdy_client_base.cc
@@ -6,6 +6,7 @@
#include <utility>
+#include "absl/strings/numbers.h"
#include "absl/strings/string_view.h"
#include "net/third_party/quiche/src/quic/core/crypto/quic_random.h"
#include "net/third_party/quiche/src/quic/core/http/spdy_utils.h"
@@ -91,8 +92,7 @@
auto status = response_headers.find(":status");
if (status == response_headers.end()) {
QUIC_LOG(ERROR) << "Missing :status response header";
- } else if (!quiche::QuicheTextUtils::StringToInt(status->second,
- &latest_response_code_)) {
+ } else if (!absl::SimpleAtoi(status->second, &latest_response_code_)) {
QUIC_LOG(ERROR) << "Invalid :status response header: " << status->second;
}
latest_response_headers_ = response_headers.DebugString();