Replace absl::optional with std::optional in QUICHE.
Chrome has switched to those two types being the same, so we don't have any reason to use the Abseil version anymore.
PiperOrigin-RevId: 580345251
diff --git a/quiche/quic/test_tools/crypto_test_utils.cc b/quiche/quic/test_tools/crypto_test_utils.cc
index 660f186..62c3a92 100644
--- a/quiche/quic/test_tools/crypto_test_utils.cc
+++ b/quiche/quic/test_tools/crypto_test_utils.cc
@@ -7,6 +7,7 @@
#include <algorithm>
#include <cstddef>
#include <memory>
+#include <optional>
#include <string>
#include <utility>
#include <vector>
@@ -14,7 +15,6 @@
#include "absl/strings/escaping.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
-#include "absl/types/optional.h"
#include "absl/types/span.h"
#include "quiche/quic/core/crypto/certificate_view.h"
#include "quiche/quic/core/crypto/crypto_handshake.h"
@@ -937,7 +937,7 @@
const std::string& signature, const ProofVerifyContext* context,
std::string* error_details, std::unique_ptr<ProofVerifyDetails>* details,
std::unique_ptr<ProofVerifierCallback> callback) override {
- absl::optional<std::string> payload =
+ std::optional<std::string> payload =
CryptoUtils::GenerateProofPayloadToBeSigned(chlo_hash, server_config);
if (!payload.has_value()) {
*error_details = "Failed to serialize signed payload";
diff --git a/quiche/quic/test_tools/fake_proof_source_handle.cc b/quiche/quic/test_tools/fake_proof_source_handle.cc
index ceebb30..18d93d9 100644
--- a/quiche/quic/test_tools/fake_proof_source_handle.cc
+++ b/quiche/quic/test_tools/fake_proof_source_handle.cc
@@ -21,7 +21,7 @@
class ResultSavingSignatureCallback : public ProofSource::SignatureCallback {
public:
explicit ResultSavingSignatureCallback(
- absl::optional<ComputeSignatureResult>* result)
+ std::optional<ComputeSignatureResult>* result)
: result_(result) {
QUICHE_DCHECK(!result_->has_value());
}
@@ -32,14 +32,14 @@
}
private:
- absl::optional<ComputeSignatureResult>* result_;
+ std::optional<ComputeSignatureResult>* result_;
};
ComputeSignatureResult ComputeSignatureNow(
ProofSource* delegate, const QuicSocketAddress& server_address,
const QuicSocketAddress& client_address, const std::string& hostname,
uint16_t signature_algorithm, absl::string_view in) {
- absl::optional<ComputeSignatureResult> result;
+ std::optional<ComputeSignatureResult> result;
delegate->ComputeTlsSignature(
server_address, client_address, hostname, signature_algorithm, in,
std::make_unique<ResultSavingSignatureCallback>(&result));
@@ -72,9 +72,9 @@
const QuicConnectionId& original_connection_id,
absl::string_view ssl_capabilities, const std::string& hostname,
absl::string_view client_hello, const std::string& alpn,
- absl::optional<std::string> alps,
+ std::optional<std::string> alps,
const std::vector<uint8_t>& quic_transport_params,
- const absl::optional<std::vector<uint8_t>>& early_data_context,
+ const std::optional<std::vector<uint8_t>>& early_data_context,
const QuicSSLConfig& ssl_config) {
if (select_cert_action_ != Action::FAIL_SYNC_DO_NOT_CHECK_CLOSED) {
QUICHE_CHECK(!closed_);
diff --git a/quiche/quic/test_tools/fake_proof_source_handle.h b/quiche/quic/test_tools/fake_proof_source_handle.h
index 599a1fa..960544a 100644
--- a/quiche/quic/test_tools/fake_proof_source_handle.h
+++ b/quiche/quic/test_tools/fake_proof_source_handle.h
@@ -47,9 +47,9 @@
const QuicConnectionId& original_connection_id,
absl::string_view ssl_capabilities, const std::string& hostname,
absl::string_view client_hello, const std::string& alpn,
- absl::optional<std::string> alps,
+ std::optional<std::string> alps,
const std::vector<uint8_t>& quic_transport_params,
- const absl::optional<std::vector<uint8_t>>& early_data_context,
+ const std::optional<std::vector<uint8_t>>& early_data_context,
const QuicSSLConfig& ssl_config) override;
QuicAsyncStatus ComputeSignature(const QuicSocketAddress& server_address,
@@ -71,9 +71,9 @@
QuicConnectionId original_connection_id,
absl::string_view ssl_capabilities, std::string hostname,
absl::string_view client_hello, std::string alpn,
- absl::optional<std::string> alps,
+ std::optional<std::string> alps,
std::vector<uint8_t> quic_transport_params,
- absl::optional<std::vector<uint8_t>> early_data_context,
+ std::optional<std::vector<uint8_t>> early_data_context,
QuicSSLConfig ssl_config)
: server_address(server_address),
client_address(client_address),
@@ -94,9 +94,9 @@
std::string hostname;
std::string client_hello;
std::string alpn;
- absl::optional<std::string> alps;
+ std::optional<std::string> alps;
std::vector<uint8_t> quic_transport_params;
- absl::optional<std::vector<uint8_t>> early_data_context;
+ std::optional<std::vector<uint8_t>> early_data_context;
QuicSSLConfig ssl_config;
};
@@ -184,8 +184,8 @@
// Action for the next compute signature operation.
Action compute_signature_action_ = Action::DELEGATE_SYNC;
const QuicDelayedSSLConfig dealyed_ssl_config_;
- absl::optional<SelectCertOperation> select_cert_op_;
- absl::optional<ComputeSignatureOperation> compute_signature_op_;
+ std::optional<SelectCertOperation> select_cert_op_;
+ std::optional<ComputeSignatureOperation> compute_signature_op_;
// Save all the select cert and compute signature args for tests to inspect.
std::vector<SelectCertArgs> all_select_cert_args_;
diff --git a/quiche/quic/test_tools/first_flight.h b/quiche/quic/test_tools/first_flight.h
index cd16f94..7360cf3 100644
--- a/quiche/quic/test_tools/first_flight.h
+++ b/quiche/quic/test_tools/first_flight.h
@@ -44,8 +44,8 @@
// Overrides for QuicPacketWriter.
bool IsWriteBlocked() const override { return false; }
void SetWritable() override {}
- absl::optional<int> MessageTooBigErrorCode() const override {
- return absl::nullopt;
+ std::optional<int> MessageTooBigErrorCode() const override {
+ return std::nullopt;
}
QuicByteCount GetMaxPacketSize(
const QuicSocketAddress& /*peer_address*/) const override {
diff --git a/quiche/quic/test_tools/mock_connection_id_generator.h b/quiche/quic/test_tools/mock_connection_id_generator.h
index 42209d6..4ea34b9 100644
--- a/quiche/quic/test_tools/mock_connection_id_generator.h
+++ b/quiche/quic/test_tools/mock_connection_id_generator.h
@@ -13,10 +13,10 @@
class MockConnectionIdGenerator : public quic::ConnectionIdGeneratorInterface {
public:
- MOCK_METHOD(absl::optional<quic::QuicConnectionId>, GenerateNextConnectionId,
+ MOCK_METHOD(std::optional<quic::QuicConnectionId>, GenerateNextConnectionId,
(const quic::QuicConnectionId& original), (override));
- MOCK_METHOD(absl::optional<quic::QuicConnectionId>, MaybeReplaceConnectionId,
+ MOCK_METHOD(std::optional<quic::QuicConnectionId>, MaybeReplaceConnectionId,
(const quic::QuicConnectionId& original,
const quic::ParsedQuicVersion& version),
(override));
diff --git a/quiche/quic/test_tools/mock_load_balancer_encoder.h b/quiche/quic/test_tools/mock_load_balancer_encoder.h
index f40047e..d313748 100644
--- a/quiche/quic/test_tools/mock_load_balancer_encoder.h
+++ b/quiche/quic/test_tools/mock_load_balancer_encoder.h
@@ -19,9 +19,9 @@
MOCK_METHOD(bool, IsEncoding, (), (const, override));
MOCK_METHOD(bool, IsEncrypted, (), (const, override));
MOCK_METHOD(bool, len_self_encoded, (), (const, override));
- MOCK_METHOD(absl::optional<QuicConnectionId>, GenerateNextConnectionId,
+ MOCK_METHOD(std::optional<QuicConnectionId>, GenerateNextConnectionId,
(const QuicConnectionId& original), (override));
- MOCK_METHOD(absl::optional<QuicConnectionId>, MaybeReplaceConnectionId,
+ MOCK_METHOD(std::optional<QuicConnectionId>, MaybeReplaceConnectionId,
(const QuicConnectionId& original,
const ParsedQuicVersion& version),
(override));
diff --git a/quiche/quic/test_tools/qpack/qpack_offline_decoder.cc b/quiche/quic/test_tools/qpack/qpack_offline_decoder.cc
index 282e33f..da7a865 100644
--- a/quiche/quic/test_tools/qpack/qpack_offline_decoder.cc
+++ b/quiche/quic/test_tools/qpack/qpack_offline_decoder.cc
@@ -130,7 +130,7 @@
absl::string_view input_filename) {
// Store data in |input_data_storage|; use a absl::string_view to
// efficiently keep track of remaining portion yet to be decoded.
- absl::optional<std::string> input_data_storage =
+ std::optional<std::string> input_data_storage =
quiche::ReadFileContents(input_filename);
QUICHE_DCHECK(input_data_storage.has_value());
absl::string_view input_data(*input_data_storage);
@@ -228,7 +228,7 @@
// Store data in |expected_headers_data_storage|; use a
// absl::string_view to efficiently keep track of remaining portion
// yet to be decoded.
- absl::optional<std::string> expected_headers_data_storage =
+ std::optional<std::string> expected_headers_data_storage =
quiche::ReadFileContents(expected_headers_filename);
QUICHE_DCHECK(expected_headers_data_storage.has_value());
absl::string_view expected_headers_data(*expected_headers_data_storage);
diff --git a/quiche/quic/test_tools/quic_test_client.cc b/quiche/quic/test_tools/quic_test_client.cc
index 601a2bb..5b66785 100644
--- a/quiche/quic/test_tools/quic_test_client.cc
+++ b/quiche/quic/test_tools/quic_test_client.cc
@@ -614,8 +614,7 @@
bool QuicTestClient::HaveActiveStream() { return !open_streams_.empty(); }
bool QuicTestClient::WaitUntil(
- int timeout_ms,
- absl::optional<quiche::UnretainedCallback<bool()>> trigger) {
+ int timeout_ms, std::optional<quiche::UnretainedCallback<bool()>> trigger) {
QuicTime::Delta timeout = QuicTime::Delta::FromMilliseconds(timeout_ms);
const QuicClock* clock = client()->session()->connection()->clock();
QuicTime end_waiting_time = clock->Now() + timeout;
diff --git a/quiche/quic/test_tools/quic_test_client.h b/quiche/quic/test_tools/quic_test_client.h
index 9ea9cfa..3dbd524 100644
--- a/quiche/quic/test_tools/quic_test_client.h
+++ b/quiche/quic/test_tools/quic_test_client.h
@@ -161,7 +161,7 @@
QuicSocketAddress local_address() const;
void ClearPerRequestState();
bool WaitUntil(int timeout_ms,
- absl::optional<quiche::UnretainedCallback<bool()>> trigger);
+ std::optional<quiche::UnretainedCallback<bool()>> trigger);
int64_t Send(absl::string_view data);
bool connected() const;
bool buffer_body() const;
diff --git a/quiche/quic/test_tools/quic_test_utils.cc b/quiche/quic/test_tools/quic_test_utils.cc
index 4647c98..c5ae06f 100644
--- a/quiche/quic/test_tools/quic_test_utils.cc
+++ b/quiche/quic/test_tools/quic_test_utils.cc
@@ -352,7 +352,7 @@
bool NoOpFramerVisitor::OnAckFrameEnd(
QuicPacketNumber /*start*/,
- const absl::optional<QuicEcnCounts>& /*ecn_counts*/) {
+ const std::optional<QuicEcnCounts>& /*ecn_counts*/) {
return true;
}
@@ -632,7 +632,7 @@
QuicConsumedData MockQuicSession::ConsumeData(
QuicStreamId id, size_t write_length, QuicStreamOffset offset,
StreamSendingState state, TransmissionType /*type*/,
- absl::optional<EncryptionLevel> /*level*/) {
+ std::optional<EncryptionLevel> /*level*/) {
if (write_length > 0) {
auto buf = std::make_unique<char[]>(write_length);
QuicStream* stream = GetOrCreateStream(id);
@@ -709,7 +709,7 @@
QuicConsumedData MockQuicSpdySession::ConsumeData(
QuicStreamId id, size_t write_length, QuicStreamOffset offset,
StreamSendingState state, TransmissionType /*type*/,
- absl::optional<EncryptionLevel> /*level*/) {
+ std::optional<EncryptionLevel> /*level*/) {
if (write_length > 0) {
auto buf = std::make_unique<char[]>(write_length);
QuicStream* stream = GetOrCreateStream(id);
@@ -757,7 +757,7 @@
QuicConnection* connection, const QuicConfig& config,
const ParsedQuicVersionVector& supported_versions,
const QuicServerId& server_id, QuicCryptoClientConfig* crypto_config,
- absl::optional<QuicSSLConfig> ssl_config)
+ std::optional<QuicSSLConfig> ssl_config)
: QuicSpdyClientSessionBase(connection, nullptr, config,
supported_versions),
ssl_config_(std::move(ssl_config)) {
@@ -1480,7 +1480,7 @@
QuicVersionLabel version_label;
ParsedQuicVersion parsed_version = ParsedQuicVersion::Unsupported();
QuicConnectionId destination_connection_id, source_connection_id;
- absl::optional<absl::string_view> retry_token;
+ std::optional<absl::string_view> retry_token;
std::string detailed_error;
QuicErrorCode error = QuicFramer::ParsePublicHeaderDispatcher(
encrypted_packet,
diff --git a/quiche/quic/test_tools/quic_test_utils.h b/quiche/quic/test_tools/quic_test_utils.h
index 37566f4..55b867f 100644
--- a/quiche/quic/test_tools/quic_test_utils.h
+++ b/quiche/quic/test_tools/quic_test_utils.h
@@ -311,7 +311,7 @@
(override));
MOCK_METHOD(bool, OnAckTimestamp, (QuicPacketNumber, QuicTime), (override));
MOCK_METHOD(bool, OnAckFrameEnd,
- (QuicPacketNumber, const absl::optional<QuicEcnCounts>&),
+ (QuicPacketNumber, const std::optional<QuicEcnCounts>&),
(override));
MOCK_METHOD(bool, OnStopWaitingFrame, (const QuicStopWaitingFrame& frame),
(override));
@@ -395,7 +395,7 @@
bool OnAckTimestamp(QuicPacketNumber packet_number,
QuicTime timestamp) override;
bool OnAckFrameEnd(QuicPacketNumber start,
- const absl::optional<QuicEcnCounts>& ecn_counts) override;
+ const std::optional<QuicEcnCounts>& ecn_counts) override;
bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override;
bool OnPaddingFrame(const QuicPaddingFrame& frame) override;
bool OnPingFrame(const QuicPingFrame& frame) override;
@@ -830,7 +830,7 @@
QuicConsumedData ConsumeData(QuicStreamId id, size_t write_length,
QuicStreamOffset offset,
StreamSendingState state, TransmissionType type,
- absl::optional<EncryptionLevel> level);
+ std::optional<EncryptionLevel> level);
void ReallyMaybeSendRstStreamFrame(QuicStreamId id,
QuicRstStreamErrorCode error,
@@ -986,7 +986,7 @@
QuicConsumedData ConsumeData(QuicStreamId id, size_t write_length,
QuicStreamOffset offset,
StreamSendingState state, TransmissionType type,
- absl::optional<EncryptionLevel> level);
+ std::optional<EncryptionLevel> level);
using QuicSession::ActivateStream;
@@ -1094,10 +1094,10 @@
MockQuicCryptoServerStreamHelper helper_;
// If not nullopt, override the early_data_enabled value from base class'
// ssl_config.
- absl::optional<bool> early_data_enabled_;
+ std::optional<bool> early_data_enabled_;
// If not nullopt, override the client_cert_mode value from base class'
// ssl_config.
- absl::optional<ClientCertMode> client_cert_mode_;
+ std::optional<ClientCertMode> client_cert_mode_;
};
class TestQuicSpdyClientSession : public QuicSpdyClientSessionBase {
@@ -1106,7 +1106,7 @@
QuicConnection* connection, const QuicConfig& config,
const ParsedQuicVersionVector& supported_versions,
const QuicServerId& server_id, QuicCryptoClientConfig* crypto_config,
- absl::optional<QuicSSLConfig> ssl_config = absl::nullopt);
+ std::optional<QuicSSLConfig> ssl_config = std::nullopt);
TestQuicSpdyClientSession(const TestQuicSpdyClientSession&) = delete;
TestQuicSpdyClientSession& operator=(const TestQuicSpdyClientSession&) =
delete;
@@ -1160,7 +1160,7 @@
std::unique_ptr<QuicCryptoClientStream> crypto_stream_;
std::vector<CryptoHandshakeMessage> sent_crypto_handshake_messages_;
- absl::optional<QuicSSLConfig> ssl_config_;
+ std::optional<QuicSSLConfig> ssl_config_;
};
class MockPacketWriter : public QuicPacketWriter {
@@ -1177,7 +1177,7 @@
(override));
MOCK_METHOD(bool, IsWriteBlocked, (), (const, override));
MOCK_METHOD(void, SetWritable, (), (override));
- MOCK_METHOD(absl::optional<int>, MessageTooBigErrorCode, (),
+ MOCK_METHOD(std::optional<int>, MessageTooBigErrorCode, (),
(const, override));
MOCK_METHOD(QuicByteCount, GetMaxPacketSize,
(const QuicSocketAddress& peer_address), (const, override));
@@ -1828,7 +1828,7 @@
bool IsWriteBlocked() const override { return write_blocked_; }
- absl::optional<int> MessageTooBigErrorCode() const override { return 0x1234; }
+ std::optional<int> MessageTooBigErrorCode() const override { return 0x1234; }
void SetWriteBlocked() { write_blocked_ = true; }
diff --git a/quiche/quic/test_tools/simple_quic_framer.cc b/quiche/quic/test_tools/simple_quic_framer.cc
index b13fec4..fc50251 100644
--- a/quiche/quic/test_tools/simple_quic_framer.cc
+++ b/quiche/quic/test_tools/simple_quic_framer.cc
@@ -111,7 +111,7 @@
bool OnAckFrameEnd(
QuicPacketNumber /*start*/,
- const absl::optional<QuicEcnCounts>& /*ecn_counts*/) override {
+ const std::optional<QuicEcnCounts>& /*ecn_counts*/) override {
return true;
}
diff --git a/quiche/quic/test_tools/simulator/quic_endpoint_base.cc b/quiche/quic/test_tools/simulator/quic_endpoint_base.cc
index 3ff517a..209994a 100644
--- a/quiche/quic/test_tools/simulator/quic_endpoint_base.cc
+++ b/quiche/quic/test_tools/simulator/quic_endpoint_base.cc
@@ -153,8 +153,8 @@
void QuicEndpointBase::Writer::SetWritable() { is_blocked_ = false; }
-absl::optional<int> QuicEndpointBase::Writer::MessageTooBigErrorCode() const {
- return absl::nullopt;
+std::optional<int> QuicEndpointBase::Writer::MessageTooBigErrorCode() const {
+ return std::nullopt;
}
QuicByteCount QuicEndpointBase::Writer::GetMaxPacketSize(
diff --git a/quiche/quic/test_tools/simulator/quic_endpoint_base.h b/quiche/quic/test_tools/simulator/quic_endpoint_base.h
index bb3ae10..fe753d5 100644
--- a/quiche/quic/test_tools/simulator/quic_endpoint_base.h
+++ b/quiche/quic/test_tools/simulator/quic_endpoint_base.h
@@ -83,7 +83,7 @@
const QuicPacketWriterParams& params) override;
bool IsWriteBlocked() const override;
void SetWritable() override;
- absl::optional<int> MessageTooBigErrorCode() const override;
+ std::optional<int> MessageTooBigErrorCode() const override;
QuicByteCount GetMaxPacketSize(
const QuicSocketAddress& peer_address) const override;
bool SupportsReleaseTime() const override;
diff --git a/quiche/quic/test_tools/simulator/test_harness.h b/quiche/quic/test_tools/simulator/test_harness.h
index 135d744..9c879fc 100644
--- a/quiche/quic/test_tools/simulator/test_harness.h
+++ b/quiche/quic/test_tools/simulator/test_harness.h
@@ -6,9 +6,9 @@
#define QUICHE_QUIC_TEST_TOOLS_SIMULATOR_TEST_HARNESS_H_
#include <memory>
+#include <optional>
#include <string>
-#include "absl/types/optional.h"
#include "quiche/quic/core/quic_bandwidth.h"
#include "quiche/quic/core/quic_constants.h"
#include "quiche/quic/core/quic_time.h"
@@ -79,8 +79,8 @@
private:
Simulator simulator_;
Switch switch_;
- absl::optional<SymmetricLink> client_link_;
- absl::optional<SymmetricLink> server_link_;
+ std::optional<SymmetricLink> client_link_;
+ std::optional<SymmetricLink> server_link_;
std::unique_ptr<PacketFilter> client_filter_;
std::unique_ptr<PacketFilter> server_filter_;