Migrate QboneClient to use QuicEventLoop instead of EpollServer.

PiperOrigin-RevId: 470077005
diff --git a/quiche/quic/qbone/qbone_client.cc b/quiche/quic/qbone/qbone_client.cc
index 5744eab..ffcfcf0 100644
--- a/quiche/quic/qbone/qbone_client.cc
+++ b/quiche/quic/qbone/qbone_client.cc
@@ -7,19 +7,17 @@
 #include <utility>
 
 #include "absl/strings/string_view.h"
-#include "quiche/quic/core/quic_epoll_alarm_factory.h"
-#include "quiche/quic/core/quic_epoll_connection_helper.h"
-#include "quiche/quic/platform/api/quic_epoll.h"
-#include "quiche/quic/platform/api/quic_exported_stats.h"
+#include "quiche/quic/core/io/quic_event_loop.h"
+#include "quiche/quic/core/quic_default_connection_helper.h"
 #include "quiche/quic/platform/api/quic_testvalue.h"
-#include "quiche/quic/qbone/qbone_stream.h"
+#include "quiche/quic/tools/quic_client_default_network_helper.h"
 
 namespace quic {
 namespace {
 std::unique_ptr<QuicClientBase::NetworkHelper> CreateNetworkHelper(
-    QuicEpollServer* epoll_server, QboneClient* client) {
+    QuicEventLoop* event_loop, QboneClient* client) {
   std::unique_ptr<QuicClientBase::NetworkHelper> helper =
-      std::make_unique<QuicClientEpollNetworkHelper>(epoll_server, client);
+      std::make_unique<QuicClientDefaultNetworkHelper>(event_loop, client);
   quic::AdjustTestValue("QboneClient/network_helper", &helper);
   return helper;
 }
@@ -29,17 +27,15 @@
                          const QuicServerId& server_id,
                          const ParsedQuicVersionVector& supported_versions,
                          QuicSession::Visitor* session_owner,
-                         const QuicConfig& config,
-                         QuicEpollServer* epoll_server,
+                         const QuicConfig& config, QuicEventLoop* event_loop,
                          std::unique_ptr<ProofVerifier> proof_verifier,
                          QbonePacketWriter* qbone_writer,
                          QboneClientControlStream::Handler* qbone_handler)
-    : QuicClientBase(
-          server_id, supported_versions, config,
-          new QuicEpollConnectionHelper(epoll_server, QuicAllocator::SIMPLE),
-          new QuicEpollAlarmFactory(epoll_server),
-          CreateNetworkHelper(epoll_server, this), std::move(proof_verifier),
-          nullptr),
+    : QuicClientBase(server_id, supported_versions, config,
+                     new QuicDefaultConnectionHelper(),
+                     event_loop->CreateAlarmFactory().release(),
+                     CreateNetworkHelper(event_loop, this),
+                     std::move(proof_verifier), nullptr),
       qbone_writer_(qbone_writer),
       qbone_handler_(qbone_handler),
       session_owner_(session_owner) {
diff --git a/quiche/quic/qbone/qbone_client.h b/quiche/quic/qbone/qbone_client.h
index 5f52679..cda71da 100644
--- a/quiche/quic/qbone/qbone_client.h
+++ b/quiche/quic/qbone/qbone_client.h
@@ -6,24 +6,24 @@
 #define QUICHE_QUIC_QBONE_QBONE_CLIENT_H_
 
 #include "absl/strings/string_view.h"
+#include "quiche/quic/core/io/quic_event_loop.h"
 #include "quiche/quic/qbone/qbone_client_interface.h"
 #include "quiche/quic/qbone/qbone_client_session.h"
 #include "quiche/quic/qbone/qbone_packet_writer.h"
 #include "quiche/quic/tools/quic_client_base.h"
-#include "quiche/quic/tools/quic_client_epoll_network_helper.h"
 
 namespace quic {
-// A QboneClient encapsulates connecting to a server via an epoll server
+// A QboneClient encapsulates connecting to a server via an event loop
 // and setting up a QBONE tunnel. See the QboneTestClient in qbone_client_test
 // for usage.
 class QboneClient : public QuicClientBase, public QboneClientInterface {
  public:
-  // Note that the epoll server, QBONE writer, and handler are owned
+  // Note that the event loop, QBONE writer, and handler are owned
   // by the caller.
   QboneClient(QuicSocketAddress server_address, const QuicServerId& server_id,
               const ParsedQuicVersionVector& supported_versions,
               QuicSession::Visitor* session_owner, const QuicConfig& config,
-              QuicEpollServer* epoll_server,
+              QuicEventLoop* event_loop,
               std::unique_ptr<ProofVerifier> proof_verifier,
               QbonePacketWriter* qbone_writer,
               QboneClientControlStream::Handler* qbone_handler);
diff --git a/quiche/quic/qbone/qbone_client_test.cc b/quiche/quic/qbone/qbone_client_test.cc
index cb9541b..2f7acda 100644
--- a/quiche/quic/qbone/qbone_client_test.cc
+++ b/quiche/quic/qbone/qbone_client_test.cc
@@ -6,19 +6,19 @@
 
 #include "quiche/quic/qbone/qbone_client.h"
 
+#include <memory>
+
 #include "absl/strings/string_view.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_alarm_factory.h"
+#include "quiche/quic/core/quic_default_clock.h"
 #include "quiche/quic/core/quic_default_connection_helper.h"
-#include "quiche/quic/core/quic_default_packet_writer.h"
 #include "quiche/quic/core/quic_dispatcher.h"
-#include "quiche/quic/core/quic_epoll_alarm_factory.h"
-#include "quiche/quic/core/quic_epoll_connection_helper.h"
-#include "quiche/quic/core/quic_packet_reader.h"
 #include "quiche/quic/platform/api/quic_mutex.h"
 #include "quiche/quic/platform/api/quic_socket_address.h"
 #include "quiche/quic/platform/api/quic_test.h"
 #include "quiche/quic/platform/api/quic_test_loopback.h"
-#include "quiche/quic/qbone/qbone_constants.h"
 #include "quiche/quic/qbone/qbone_packet_processor_test_tools.h"
 #include "quiche/quic/qbone/qbone_server_session.h"
 #include "quiche/quic/test_tools/crypto_test_utils.h"
@@ -158,10 +158,10 @@
   QboneTestClient(QuicSocketAddress server_address,
                   const QuicServerId& server_id,
                   const ParsedQuicVersionVector& supported_versions,
-                  QuicEpollServer* epoll_server,
+                  QuicEventLoop* event_loop,
                   std::unique_ptr<ProofVerifier> proof_verifier)
       : QboneClient(server_address, server_id, supported_versions,
-                    /*session_owner=*/nullptr, QuicConfig(), epoll_server,
+                    /*session_owner=*/nullptr, QuicConfig(), event_loop,
                     std::move(proof_verifier), &qbone_writer_, nullptr) {}
 
   ~QboneTestClient() override {}
@@ -215,11 +215,12 @@
       QuicSocketAddress(server_address.host(), server_thread.GetPort());
   server_thread.Start();
 
-  QuicEpollServer epoll_server;
+  std::unique_ptr<QuicEventLoop> event_loop =
+      GetDefaultEventLoop()->Create(quic::QuicDefaultClock::Get());
   QboneTestClient client(
       server_address,
       QuicServerId("test.example.com", server_address.port(), false),
-      ParsedQuicVersionVector{GetParam()}, &epoll_server,
+      ParsedQuicVersionVector{GetParam()}, event_loop.get(),
       crypto_test_utils::ProofVerifierForTesting());
   ASSERT_TRUE(client.Initialize());
   ASSERT_TRUE(client.Connect());