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