Migrating the CLI uses of QuicClient to QuicDefaultClient. I will rename the classes themselves later. PiperOrigin-RevId: 468788473
diff --git a/quiche/quic/tools/quic_client_interop_test_bin.cc b/quiche/quic/tools/quic_client_interop_test_bin.cc index 7d204bb..6fe1a51 100644 --- a/quiche/quic/tools/quic_client_interop_test_bin.cc +++ b/quiche/quic/tools/quic_client_interop_test_bin.cc
@@ -9,14 +9,16 @@ #include "absl/strings/str_cat.h" #include "quiche/quic/core/crypto/quic_client_session_cache.h" -#include "quiche/quic/core/quic_epoll_clock.h" +#include "quiche/quic/core/io/quic_default_event_loop.h" +#include "quiche/quic/core/io/quic_event_loop.h" +#include "quiche/quic/core/quic_default_clock.h" #include "quiche/quic/core/quic_types.h" #include "quiche/quic/core/quic_versions.h" -#include "quiche/quic/platform/api/quic_epoll.h" #include "quiche/quic/test_tools/quic_connection_peer.h" #include "quiche/quic/test_tools/quic_session_peer.h" #include "quiche/quic/tools/fake_proof_verifier.h" -#include "quiche/quic/tools/quic_client.h" +#include "quiche/quic/tools/quic_default_client.h" +#include "quiche/quic/tools/quic_name_lookup.h" #include "quiche/quic/tools/quic_url.h" #include "quiche/common/platform/api/quiche_command_line_flags.h" #include "quiche/common/platform/api/quiche_system_event_loop.h" @@ -107,7 +109,8 @@ // Attempts a resumption using |client| by disconnecting and reconnecting. If // resumption is successful, |features_| is modified to add // Feature::kResumption to it, otherwise it is left unmodified. - void AttemptResumption(QuicClient* client, const std::string& authority); + void AttemptResumption(QuicDefaultClient* client, + const std::string& authority); void AttemptRequest(QuicSocketAddress addr, std::string authority, QuicServerId server_id, ParsedQuicVersion version, @@ -119,7 +122,7 @@ spdy::Http2HeaderBlock ConstructHeaderBlock(const std::string& authority); // Sends an HTTP request represented by |header_block| using |client|. - void SendRequest(QuicClient* client, + void SendRequest(QuicDefaultClient* client, const spdy::Http2HeaderBlock& header_block); void OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) override { @@ -157,7 +160,7 @@ std::set<Feature> features_; }; -void QuicClientInteropRunner::AttemptResumption(QuicClient* client, +void QuicClientInteropRunner::AttemptResumption(QuicDefaultClient* client, const std::string& authority) { client->Disconnect(); if (!client->Initialize()) { @@ -202,8 +205,6 @@ auto proof_verifier = std::make_unique<FakeProofVerifier>(); auto session_cache = std::make_unique<QuicClientSessionCache>(); - QuicEpollServer epoll_server; - QuicEpollClock epoll_clock(&epoll_server); QuicConfig config; QuicTime::Delta timeout = QuicTime::Delta::FromSeconds(20); config.SetIdleNetworkTimeout(timeout); @@ -216,8 +217,10 @@ config.custom_transport_parameters_to_send()[kCustomParameter] = custom_value; } - auto client = std::make_unique<QuicClient>( - addr, server_id, versions, config, &epoll_server, + std::unique_ptr<QuicEventLoop> event_loop = + GetDefaultEventLoop()->Create(QuicDefaultClock::Get()); + auto client = std::make_unique<QuicDefaultClient>( + addr, server_id, versions, config, event_loop.get(), std::move(proof_verifier), std::move(session_cache)); client->set_connection_debug_visitor(this); if (!client->Initialize()) { @@ -339,7 +342,7 @@ } void QuicClientInteropRunner::SendRequest( - QuicClient* client, const spdy::Http2HeaderBlock& header_block) { + QuicDefaultClient* client, const spdy::Http2HeaderBlock& header_block) { client->set_store_response(true); client->SendRequestAndWaitForResponse(header_block, "", /*fin=*/true);
diff --git a/quiche/quic/tools/quic_epoll_client_factory.cc b/quiche/quic/tools/quic_epoll_client_factory.cc index 590a408..1f66777 100644 --- a/quiche/quic/tools/quic_epoll_client_factory.cc +++ b/quiche/quic/tools/quic_epoll_client_factory.cc
@@ -4,19 +4,21 @@ #include "quiche/quic/tools/quic_epoll_client_factory.h" -#include <netdb.h> -#include <sys/socket.h> -#include <sys/types.h> - #include <utility> #include "absl/strings/str_cat.h" +#include "quiche/quic/core/io/quic_default_event_loop.h" +#include "quiche/quic/core/quic_default_clock.h" #include "quiche/quic/core/quic_server_id.h" #include "quiche/quic/platform/api/quic_socket_address.h" -#include "quiche/quic/tools/quic_client.h" +#include "quiche/quic/tools/quic_default_client.h" +#include "quiche/quic/tools/quic_name_lookup.h" namespace quic { +QuicEpollClientFactory::QuicEpollClientFactory() + : event_loop_(GetDefaultEventLoop()->Create(QuicDefaultClock::Get())) {} + std::unique_ptr<QuicSpdyClientBase> QuicEpollClientFactory::CreateClient( std::string host_for_handshake, std::string host_for_lookup, int address_family_for_lookup, uint16_t port, @@ -30,9 +32,9 @@ return nullptr; } QuicServerId server_id(host_for_handshake, port, false); - return std::make_unique<QuicClient>(addr, server_id, versions, config, - &epoll_server_, std::move(verifier), - std::move(session_cache)); + return std::make_unique<QuicDefaultClient>( + addr, server_id, versions, config, event_loop_.get(), std::move(verifier), + std::move(session_cache)); } } // namespace quic
diff --git a/quiche/quic/tools/quic_epoll_client_factory.h b/quiche/quic/tools/quic_epoll_client_factory.h index f2dd7c5..962a714 100644 --- a/quiche/quic/tools/quic_epoll_client_factory.h +++ b/quiche/quic/tools/quic_epoll_client_factory.h
@@ -5,7 +5,9 @@ #ifndef QUICHE_QUIC_TOOLS_QUIC_EPOLL_CLIENT_FACTORY_H_ #define QUICHE_QUIC_TOOLS_QUIC_EPOLL_CLIENT_FACTORY_H_ -#include "quiche/quic/platform/api/quic_epoll.h" +#include <memory> + +#include "quiche/quic/core/io/quic_event_loop.h" #include "quiche/quic/tools/quic_toy_client.h" namespace quic { @@ -13,6 +15,8 @@ // Factory creating QuicClient instances. class QuicEpollClientFactory : public QuicToyClient::ClientFactory { public: + QuicEpollClientFactory(); + std::unique_ptr<QuicSpdyClientBase> CreateClient( std::string host_for_handshake, std::string host_for_lookup, int address_family_for_lookup, uint16_t port, @@ -21,7 +25,7 @@ std::unique_ptr<SessionCache> session_cache) override; private: - QuicEpollServer epoll_server_; + std::unique_ptr<QuicEventLoop> event_loop_; }; } // namespace quic