Move quic_epoll_* bindings into the internal part of QUIC

Since we're deprecating the open-source version of the epoll_server, those will no longer be useful.

PiperOrigin-RevId: 474375435
diff --git a/build/source_list.bzl b/build/source_list.bzl
index 65e4d16..17cf6a2 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -967,9 +967,6 @@
     "quic/core/io/socket.h",
     "quic/core/io/socket_factory.h",
     "quic/core/quic_default_packet_writer.h",
-    "quic/core/quic_epoll_alarm_factory.h",
-    "quic/core/quic_epoll_clock.h",
-    "quic/core/quic_epoll_connection_helper.h",
     "quic/core/quic_linux_socket_utils.h",
     "quic/core/quic_packet_reader.h",
     "quic/core/quic_syscall_wrapper.h",
@@ -1000,9 +997,6 @@
     "quic/core/io/quic_poll_event_loop.cc",
     "quic/core/io/socket_posix.cc",
     "quic/core/quic_default_packet_writer.cc",
-    "quic/core/quic_epoll_alarm_factory.cc",
-    "quic/core/quic_epoll_clock.cc",
-    "quic/core/quic_epoll_connection_helper.cc",
     "quic/core/quic_linux_socket_utils.cc",
     "quic/core/quic_packet_reader.cc",
     "quic/core/quic_syscall_wrapper.cc",
@@ -1319,9 +1313,6 @@
     "quic/core/io/quic_all_event_loops_test.cc",
     "quic/core/io/quic_poll_event_loop_test.cc",
     "quic/core/io/socket_test.cc",
-    "quic/core/quic_epoll_alarm_factory_test.cc",
-    "quic/core/quic_epoll_clock_test.cc",
-    "quic/core/quic_epoll_connection_helper_test.cc",
     "quic/core/quic_linux_socket_utils_test.cc",
     "quic/tools/quic_server_test.cc",
     "quic/tools/quic_simple_server_session_test.cc",
diff --git a/build/source_list.gni b/build/source_list.gni
index 720a9a9..0536fdc 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -967,9 +967,6 @@
     "src/quiche/quic/core/io/socket.h",
     "src/quiche/quic/core/io/socket_factory.h",
     "src/quiche/quic/core/quic_default_packet_writer.h",
-    "src/quiche/quic/core/quic_epoll_alarm_factory.h",
-    "src/quiche/quic/core/quic_epoll_clock.h",
-    "src/quiche/quic/core/quic_epoll_connection_helper.h",
     "src/quiche/quic/core/quic_linux_socket_utils.h",
     "src/quiche/quic/core/quic_packet_reader.h",
     "src/quiche/quic/core/quic_syscall_wrapper.h",
@@ -1000,9 +997,6 @@
     "src/quiche/quic/core/io/quic_poll_event_loop.cc",
     "src/quiche/quic/core/io/socket_posix.cc",
     "src/quiche/quic/core/quic_default_packet_writer.cc",
-    "src/quiche/quic/core/quic_epoll_alarm_factory.cc",
-    "src/quiche/quic/core/quic_epoll_clock.cc",
-    "src/quiche/quic/core/quic_epoll_connection_helper.cc",
     "src/quiche/quic/core/quic_linux_socket_utils.cc",
     "src/quiche/quic/core/quic_packet_reader.cc",
     "src/quiche/quic/core/quic_syscall_wrapper.cc",
@@ -1319,9 +1313,6 @@
     "src/quiche/quic/core/io/quic_all_event_loops_test.cc",
     "src/quiche/quic/core/io/quic_poll_event_loop_test.cc",
     "src/quiche/quic/core/io/socket_test.cc",
-    "src/quiche/quic/core/quic_epoll_alarm_factory_test.cc",
-    "src/quiche/quic/core/quic_epoll_clock_test.cc",
-    "src/quiche/quic/core/quic_epoll_connection_helper_test.cc",
     "src/quiche/quic/core/quic_linux_socket_utils_test.cc",
     "src/quiche/quic/tools/quic_server_test.cc",
     "src/quiche/quic/tools/quic_simple_server_session_test.cc",
diff --git a/build/source_list.json b/build/source_list.json
index f39abd1..f2e721d 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -966,9 +966,6 @@
     "quiche/quic/core/io/socket.h",
     "quiche/quic/core/io/socket_factory.h",
     "quiche/quic/core/quic_default_packet_writer.h",
-    "quiche/quic/core/quic_epoll_alarm_factory.h",
-    "quiche/quic/core/quic_epoll_clock.h",
-    "quiche/quic/core/quic_epoll_connection_helper.h",
     "quiche/quic/core/quic_linux_socket_utils.h",
     "quiche/quic/core/quic_packet_reader.h",
     "quiche/quic/core/quic_syscall_wrapper.h",
@@ -999,9 +996,6 @@
     "quiche/quic/core/io/quic_poll_event_loop.cc",
     "quiche/quic/core/io/socket_posix.cc",
     "quiche/quic/core/quic_default_packet_writer.cc",
-    "quiche/quic/core/quic_epoll_alarm_factory.cc",
-    "quiche/quic/core/quic_epoll_clock.cc",
-    "quiche/quic/core/quic_epoll_connection_helper.cc",
     "quiche/quic/core/quic_linux_socket_utils.cc",
     "quiche/quic/core/quic_packet_reader.cc",
     "quiche/quic/core/quic_syscall_wrapper.cc",
@@ -1318,9 +1312,6 @@
     "quiche/quic/core/io/quic_all_event_loops_test.cc",
     "quiche/quic/core/io/quic_poll_event_loop_test.cc",
     "quiche/quic/core/io/socket_test.cc",
-    "quiche/quic/core/quic_epoll_alarm_factory_test.cc",
-    "quiche/quic/core/quic_epoll_clock_test.cc",
-    "quiche/quic/core/quic_epoll_connection_helper_test.cc",
     "quiche/quic/core/quic_linux_socket_utils_test.cc",
     "quiche/quic/tools/quic_server_test.cc",
     "quiche/quic/tools/quic_simple_server_session_test.cc",
diff --git a/quiche/quic/core/quic_epoll_alarm_factory.cc b/quiche/quic/core/quic_epoll_alarm_factory.cc
deleted file mode 100644
index 23df28b..0000000
--- a/quiche/quic/core/quic_epoll_alarm_factory.cc
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "quiche/quic/core/quic_epoll_alarm_factory.h"
-
-#include <type_traits>
-
-#include "quiche/quic/core/quic_arena_scoped_ptr.h"
-
-namespace quic {
-namespace {
-
-class QuicEpollAlarm : public QuicAlarm {
- public:
-  QuicEpollAlarm(QuicEpollServer* epoll_server,
-                 QuicArenaScopedPtr<QuicAlarm::Delegate> delegate)
-      : QuicAlarm(std::move(delegate)),
-        epoll_server_(epoll_server),
-        epoll_alarm_impl_(this) {}
-
- protected:
-  void SetImpl() override {
-    QUICHE_DCHECK(deadline().IsInitialized());
-    epoll_server_->RegisterAlarm(
-        (deadline() - QuicTime::Zero()).ToMicroseconds(), &epoll_alarm_impl_);
-  }
-
-  void CancelImpl() override {
-    QUICHE_DCHECK(!deadline().IsInitialized());
-    epoll_alarm_impl_.UnregisterIfRegistered();
-  }
-
-  void UpdateImpl() override {
-    QUICHE_DCHECK(deadline().IsInitialized());
-    int64_t epoll_deadline = (deadline() - QuicTime::Zero()).ToMicroseconds();
-    if (epoll_alarm_impl_.registered()) {
-      epoll_alarm_impl_.ReregisterAlarm(epoll_deadline);
-    } else {
-      epoll_server_->RegisterAlarm(epoll_deadline, &epoll_alarm_impl_);
-    }
-  }
-
- private:
-  class EpollAlarmImpl : public QuicEpollAlarmBase {
-   public:
-    using int64_epoll = decltype(QuicEpollAlarmBase().OnAlarm());
-
-    explicit EpollAlarmImpl(QuicEpollAlarm* alarm) : alarm_(alarm) {}
-
-    // Use the same integer type as the base class.
-    int64_epoll OnAlarm() override {
-      QuicEpollAlarmBase::OnAlarm();
-      alarm_->Fire();
-      // Fire will take care of registering the alarm, if needed.
-      return 0;
-    }
-
-   private:
-    QuicEpollAlarm* alarm_;
-  };
-
-  QuicEpollServer* epoll_server_;
-  EpollAlarmImpl epoll_alarm_impl_;
-};
-
-}  // namespace
-
-QuicEpollAlarmFactory::QuicEpollAlarmFactory(QuicEpollServer* epoll_server)
-    : epoll_server_(epoll_server) {}
-
-QuicEpollAlarmFactory::~QuicEpollAlarmFactory() = default;
-
-QuicAlarm* QuicEpollAlarmFactory::CreateAlarm(QuicAlarm::Delegate* delegate) {
-  return new QuicEpollAlarm(epoll_server_,
-                            QuicArenaScopedPtr<QuicAlarm::Delegate>(delegate));
-}
-
-QuicArenaScopedPtr<QuicAlarm> QuicEpollAlarmFactory::CreateAlarm(
-    QuicArenaScopedPtr<QuicAlarm::Delegate> delegate,
-    QuicConnectionArena* arena) {
-  if (arena != nullptr) {
-    return arena->New<QuicEpollAlarm>(epoll_server_, std::move(delegate));
-  }
-  return QuicArenaScopedPtr<QuicAlarm>(
-      new QuicEpollAlarm(epoll_server_, std::move(delegate)));
-}
-
-}  // namespace quic
diff --git a/quiche/quic/core/quic_epoll_alarm_factory.h b/quiche/quic/core/quic_epoll_alarm_factory.h
deleted file mode 100644
index 8ccc923..0000000
--- a/quiche/quic/core/quic_epoll_alarm_factory.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright (c) 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef QUICHE_QUIC_CORE_QUIC_EPOLL_ALARM_FACTORY_H_
-#define QUICHE_QUIC_CORE_QUIC_EPOLL_ALARM_FACTORY_H_
-
-#include "quiche/quic/core/quic_alarm.h"
-#include "quiche/quic/core/quic_alarm_factory.h"
-#include "quiche/quic/core/quic_one_block_arena.h"
-#include "quiche/quic/platform/api/quic_epoll.h"
-
-namespace quic {
-
-// Creates alarms that use the supplied EpollServer for timing and firing.
-class QUIC_EXPORT_PRIVATE QuicEpollAlarmFactory : public QuicAlarmFactory {
- public:
-  explicit QuicEpollAlarmFactory(QuicEpollServer* epoll_server);
-  QuicEpollAlarmFactory(const QuicEpollAlarmFactory&) = delete;
-  QuicEpollAlarmFactory& operator=(const QuicEpollAlarmFactory&) = delete;
-  ~QuicEpollAlarmFactory() override;
-
-  // QuicAlarmFactory interface.
-  QuicAlarm* CreateAlarm(QuicAlarm::Delegate* delegate) override;
-  QuicArenaScopedPtr<QuicAlarm> CreateAlarm(
-      QuicArenaScopedPtr<QuicAlarm::Delegate> delegate,
-      QuicConnectionArena* arena) override;
-
- private:
-  QuicEpollServer* epoll_server_;  // Not owned.
-};
-
-}  // namespace quic
-
-#endif  // QUICHE_QUIC_CORE_QUIC_EPOLL_ALARM_FACTORY_H_
diff --git a/quiche/quic/core/quic_epoll_alarm_factory_test.cc b/quiche/quic/core/quic_epoll_alarm_factory_test.cc
deleted file mode 100644
index 87a6da6..0000000
--- a/quiche/quic/core/quic_epoll_alarm_factory_test.cc
+++ /dev/null
@@ -1,140 +0,0 @@
-// Copyright (c) 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "quiche/quic/core/quic_epoll_alarm_factory.h"
-
-#include "quiche/quic/core/quic_epoll_clock.h"
-#include "quiche/quic/platform/api/quic_test.h"
-#include "quiche/common/platform/api/quiche_epoll_test_tools.h"
-
-namespace quic {
-namespace test {
-namespace {
-
-class TestDelegate : public QuicAlarm::DelegateWithoutContext {
- public:
-  TestDelegate() : fired_(false) {}
-
-  void OnAlarm() override { fired_ = true; }
-
-  bool fired() const { return fired_; }
-
- private:
-  bool fired_;
-};
-
-// The boolean parameter denotes whether or not to use an arena.
-class QuicEpollAlarmFactoryTest : public QuicTestWithParam<bool> {
- protected:
-  QuicEpollAlarmFactoryTest()
-      : clock_(&epoll_server_), alarm_factory_(&epoll_server_) {}
-
-  QuicConnectionArena* GetArenaParam() {
-    return GetParam() ? &arena_ : nullptr;
-  }
-
-  const QuicEpollClock clock_;
-  QuicEpollAlarmFactory alarm_factory_;
-  quiche::QuicheFakeEpollServer epoll_server_;
-  QuicConnectionArena arena_;
-};
-
-INSTANTIATE_TEST_SUITE_P(UseArena, QuicEpollAlarmFactoryTest,
-                         ::testing::ValuesIn({true, false}),
-                         ::testing::PrintToStringParamName());
-
-TEST_P(QuicEpollAlarmFactoryTest, CreateAlarm) {
-  QuicArenaScopedPtr<TestDelegate> delegate =
-      QuicArenaScopedPtr<TestDelegate>(new TestDelegate());
-  QuicArenaScopedPtr<QuicAlarm> alarm(
-      alarm_factory_.CreateAlarm(std::move(delegate), GetArenaParam()));
-
-  QuicTime start = clock_.Now();
-  QuicTime::Delta delta = QuicTime::Delta::FromMicroseconds(1);
-  alarm->Set(start + delta);
-
-  epoll_server_.AdvanceByAndWaitForEventsAndExecuteCallbacks(
-      delta.ToMicroseconds());
-  EXPECT_EQ(start + delta, clock_.Now());
-}
-
-TEST_P(QuicEpollAlarmFactoryTest, CreateAlarmAndCancel) {
-  QuicArenaScopedPtr<TestDelegate> delegate =
-      QuicArenaScopedPtr<TestDelegate>(new TestDelegate());
-  TestDelegate* unowned_delegate = delegate.get();
-  QuicArenaScopedPtr<QuicAlarm> alarm(
-      alarm_factory_.CreateAlarm(std::move(delegate), GetArenaParam()));
-
-  QuicTime start = clock_.Now();
-  QuicTime::Delta delta = QuicTime::Delta::FromMicroseconds(1);
-  alarm->Set(start + delta);
-  alarm->Cancel();
-
-  epoll_server_.AdvanceByExactlyAndCallCallbacks(delta.ToMicroseconds());
-  EXPECT_EQ(start + delta, clock_.Now());
-  EXPECT_FALSE(unowned_delegate->fired());
-}
-
-TEST_P(QuicEpollAlarmFactoryTest, CreateAlarmAndReset) {
-  QuicArenaScopedPtr<TestDelegate> delegate =
-      QuicArenaScopedPtr<TestDelegate>(new TestDelegate());
-  TestDelegate* unowned_delegate = delegate.get();
-  QuicArenaScopedPtr<QuicAlarm> alarm(
-      alarm_factory_.CreateAlarm(std::move(delegate), GetArenaParam()));
-
-  QuicTime start = clock_.Now();
-  QuicTime::Delta delta = QuicTime::Delta::FromMicroseconds(1);
-  alarm->Set(clock_.Now() + delta);
-  alarm->Cancel();
-  QuicTime::Delta new_delta = QuicTime::Delta::FromMicroseconds(3);
-  alarm->Set(clock_.Now() + new_delta);
-
-  epoll_server_.AdvanceByExactlyAndCallCallbacks(delta.ToMicroseconds());
-  EXPECT_EQ(start + delta, clock_.Now());
-  EXPECT_FALSE(unowned_delegate->fired());
-
-  epoll_server_.AdvanceByExactlyAndCallCallbacks(
-      (new_delta - delta).ToMicroseconds());
-  EXPECT_EQ(start + new_delta, clock_.Now());
-  EXPECT_TRUE(unowned_delegate->fired());
-}
-
-TEST_P(QuicEpollAlarmFactoryTest, CreateAlarmAndUpdate) {
-  QuicArenaScopedPtr<TestDelegate> delegate =
-      QuicArenaScopedPtr<TestDelegate>(new TestDelegate());
-  TestDelegate* unowned_delegate = delegate.get();
-  QuicArenaScopedPtr<QuicAlarm> alarm(
-      alarm_factory_.CreateAlarm(std::move(delegate), GetArenaParam()));
-
-  QuicTime start = clock_.Now();
-  QuicTime::Delta delta = QuicTime::Delta::FromMicroseconds(1);
-  alarm->Set(clock_.Now() + delta);
-  QuicTime::Delta new_delta = QuicTime::Delta::FromMicroseconds(3);
-  alarm->Update(clock_.Now() + new_delta, QuicTime::Delta::FromMicroseconds(1));
-
-  epoll_server_.AdvanceByExactlyAndCallCallbacks(delta.ToMicroseconds());
-  EXPECT_EQ(start + delta, clock_.Now());
-  EXPECT_FALSE(unowned_delegate->fired());
-
-  // Move the alarm forward 1us and ensure it doesn't move forward.
-  alarm->Update(clock_.Now() + new_delta, QuicTime::Delta::FromMicroseconds(2));
-
-  epoll_server_.AdvanceByExactlyAndCallCallbacks(
-      (new_delta - delta).ToMicroseconds());
-  EXPECT_EQ(start + new_delta, clock_.Now());
-  EXPECT_TRUE(unowned_delegate->fired());
-
-  // Set the alarm via an update call.
-  new_delta = QuicTime::Delta::FromMicroseconds(5);
-  alarm->Update(clock_.Now() + new_delta, QuicTime::Delta::FromMicroseconds(1));
-  EXPECT_TRUE(alarm->IsSet());
-
-  // Update it with an uninitialized time and ensure it's cancelled.
-  alarm->Update(QuicTime::Zero(), QuicTime::Delta::FromMicroseconds(1));
-  EXPECT_FALSE(alarm->IsSet());
-}
-
-}  // namespace
-}  // namespace test
-}  // namespace quic
diff --git a/quiche/quic/core/quic_epoll_clock.cc b/quiche/quic/core/quic_epoll_clock.cc
deleted file mode 100644
index a4087a0..0000000
--- a/quiche/quic/core/quic_epoll_clock.cc
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2022 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "quiche/quic/core/quic_epoll_clock.h"
-
-#include "quiche/common/platform/api/quiche_flag_utils.h"
-
-namespace quic {
-
-QuicEpollClock::QuicEpollClock(QuicEpollServer* epoll_server)
-    : epoll_server_(epoll_server), largest_time_(QuicTime::Zero()) {}
-
-QuicEpollClock::~QuicEpollClock() {}
-
-QuicTime QuicEpollClock::ApproximateNow() const {
-  return CreateTimeFromMicroseconds(epoll_server_->ApproximateNowInUsec());
-}
-
-QuicTime QuicEpollClock::Now() const {
-  QuicTime now = CreateTimeFromMicroseconds(epoll_server_->NowInUsec());
-
-  if (now <= largest_time_) {
-    if (now < largest_time_) {
-      QUICHE_CODE_COUNT(quic_epoll_clock_step_backward);
-    }
-    // Time not increasing, return |largest_time_|.
-    return largest_time_;
-  }
-
-  largest_time_ = now;
-  return largest_time_;
-}
-
-QuicWallTime QuicEpollClock::WallNow() const {
-  return QuicWallTime::FromUNIXMicroseconds(
-      epoll_server_->ApproximateNowInUsec());
-}
-
-QuicTime QuicEpollClock::ConvertWallTimeToQuicTime(
-    const QuicWallTime& walltime) const {
-  return QuicTime::Zero() +
-         QuicTime::Delta::FromMicroseconds(walltime.ToUNIXMicroseconds());
-}
-
-}  // namespace quic
diff --git a/quiche/quic/core/quic_epoll_clock.h b/quiche/quic/core/quic_epoll_clock.h
deleted file mode 100644
index 42bea33..0000000
--- a/quiche/quic/core/quic_epoll_clock.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2022 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef QUICHE_QUIC_CORE_QUIC_EPOLL_CLOCK_H_
-#define QUICHE_QUIC_CORE_QUIC_EPOLL_CLOCK_H_
-
-#include "quiche/quic/core/quic_clock.h"
-#include "quiche/quic/core/quic_time.h"
-#include "quiche/quic/platform/api/quic_epoll.h"
-#include "quiche/quic/platform/api/quic_export.h"
-
-namespace quic {
-
-// Clock to efficiently retrieve an approximately accurate time from an
-// EpollServer.
-class QUIC_EXPORT_PRIVATE QuicEpollClock : public QuicClock {
- public:
-  explicit QuicEpollClock(QuicEpollServer* epoll_server);
-  QuicEpollClock(const QuicEpollClock&) = delete;
-  QuicEpollClock& operator=(const QuicEpollClock&) = delete;
-  ~QuicEpollClock() override;
-
-  // Returns the approximate current time as a QuicTime object.
-  QuicTime ApproximateNow() const override;
-
-  // Returns the current time as a QuicTime object.
-  // Note: this use significant resources please use only if needed.
-  QuicTime Now() const override;
-
-  // WallNow returns the current wall-time - a time that is consistent across
-  // different clocks.
-  QuicWallTime WallNow() const override;
-
-  // Override to do less work in this implementation.  The epoll clock is
-  // already based on system (unix epoch) time, no conversion required.
-  QuicTime ConvertWallTimeToQuicTime(
-      const QuicWallTime& walltime) const override;
-
- protected:
-  QuicEpollServer* epoll_server_;
-  // Largest time returned from Now() so far.
-  mutable QuicTime largest_time_;
-};
-
-}  // namespace quic
-
-#endif  // QUICHE_QUIC_CORE_QUIC_EPOLL_CLOCK_H_
diff --git a/quiche/quic/core/quic_epoll_clock_test.cc b/quiche/quic/core/quic_epoll_clock_test.cc
deleted file mode 100644
index 617230f..0000000
--- a/quiche/quic/core/quic_epoll_clock_test.cc
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2022 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "quiche/quic/core/quic_epoll_clock.h"
-
-#include "quiche/quic/platform/api/quic_test.h"
-#include "quiche/common/platform/api/quiche_epoll_test_tools.h"
-
-namespace quic {
-namespace test {
-
-class QuicEpollClockTest : public QuicTest {};
-
-TEST_F(QuicEpollClockTest, ApproximateNowInUsec) {
-  quiche::QuicheFakeEpollServer epoll_server;
-  QuicEpollClock clock(&epoll_server);
-
-  epoll_server.set_now_in_usec(1000000);
-  EXPECT_EQ(1000000,
-            (clock.ApproximateNow() - QuicTime::Zero()).ToMicroseconds());
-  EXPECT_EQ(1u, clock.WallNow().ToUNIXSeconds());
-  EXPECT_EQ(1000000u, clock.WallNow().ToUNIXMicroseconds());
-
-  epoll_server.AdvanceBy(5);
-  EXPECT_EQ(1000005,
-            (clock.ApproximateNow() - QuicTime::Zero()).ToMicroseconds());
-  EXPECT_EQ(1u, clock.WallNow().ToUNIXSeconds());
-  EXPECT_EQ(1000005u, clock.WallNow().ToUNIXMicroseconds());
-
-  epoll_server.AdvanceBy(10 * 1000000);
-  EXPECT_EQ(11u, clock.WallNow().ToUNIXSeconds());
-  EXPECT_EQ(11000005u, clock.WallNow().ToUNIXMicroseconds());
-}
-
-TEST_F(QuicEpollClockTest, NowInUsec) {
-  quiche::QuicheFakeEpollServer epoll_server;
-  QuicEpollClock clock(&epoll_server);
-
-  epoll_server.set_now_in_usec(1000000);
-  EXPECT_EQ(1000000, (clock.Now() - QuicTime::Zero()).ToMicroseconds());
-
-  epoll_server.AdvanceBy(5);
-  EXPECT_EQ(1000005, (clock.Now() - QuicTime::Zero()).ToMicroseconds());
-}
-
-TEST_F(QuicEpollClockTest, MonotonicityWithRealEpollClock) {
-  QuicEpollServer epoll_server;
-  QuicEpollClock clock(&epoll_server);
-
-  QuicTime last_now = clock.Now();
-  for (int i = 0; i < 1e5; ++i) {
-    QuicTime now = clock.Now();
-
-    ASSERT_LE(last_now, now);
-
-    last_now = now;
-  }
-}
-
-TEST_F(QuicEpollClockTest, MonotonicityWithFakeEpollClock) {
-  quiche::QuicheFakeEpollServer epoll_server;
-  QuicEpollClock clock(&epoll_server);
-
-  epoll_server.set_now_in_usec(100);
-  QuicTime last_now = clock.Now();
-
-  epoll_server.set_now_in_usec(90);
-  QuicTime now = clock.Now();
-
-  ASSERT_EQ(last_now, now);
-}
-
-}  // namespace test
-}  // namespace quic
diff --git a/quiche/quic/core/quic_epoll_connection_helper.cc b/quiche/quic/core/quic_epoll_connection_helper.cc
deleted file mode 100644
index 1c2f5b7..0000000
--- a/quiche/quic/core/quic_epoll_connection_helper.cc
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "quiche/quic/core/quic_epoll_connection_helper.h"
-
-#include <errno.h>
-#include <sys/socket.h>
-
-#include "quiche/quic/core/crypto/quic_random.h"
-
-namespace quic {
-
-QuicEpollConnectionHelper::QuicEpollConnectionHelper(
-    QuicEpollServer* epoll_server, QuicAllocator allocator_type)
-    : clock_(epoll_server),
-      random_generator_(QuicRandom::GetInstance()),
-      allocator_type_(allocator_type) {}
-
-QuicEpollConnectionHelper::~QuicEpollConnectionHelper() = default;
-
-const QuicClock* QuicEpollConnectionHelper::GetClock() const { return &clock_; }
-
-QuicRandom* QuicEpollConnectionHelper::GetRandomGenerator() {
-  return random_generator_;
-}
-
-quiche::QuicheBufferAllocator*
-QuicEpollConnectionHelper::GetStreamSendBufferAllocator() {
-  if (allocator_type_ == QuicAllocator::BUFFER_POOL) {
-    return &stream_buffer_allocator_;
-  } else {
-    QUICHE_DCHECK(allocator_type_ == QuicAllocator::SIMPLE);
-    return &simple_buffer_allocator_;
-  }
-}
-
-}  // namespace quic
diff --git a/quiche/quic/core/quic_epoll_connection_helper.h b/quiche/quic/core/quic_epoll_connection_helper.h
deleted file mode 100644
index dfc2649..0000000
--- a/quiche/quic/core/quic_epoll_connection_helper.h
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// The epoll-specific helper for QuicConnection which uses
-// EpollAlarm for alarms, and used an int fd_ for writing data.
-
-#ifndef QUICHE_QUIC_CORE_QUIC_EPOLL_CONNECTION_HELPER_H_
-#define QUICHE_QUIC_CORE_QUIC_EPOLL_CONNECTION_HELPER_H_
-
-#include <sys/types.h>
-
-#include <set>
-
-#include "quiche/quic/core/quic_connection.h"
-#include "quiche/quic/core/quic_default_packet_writer.h"
-#include "quiche/quic/core/quic_epoll_clock.h"
-#include "quiche/quic/core/quic_packet_writer.h"
-#include "quiche/quic/core/quic_packets.h"
-#include "quiche/quic/core/quic_time.h"
-#include "quiche/quic/platform/api/quic_epoll.h"
-#include "quiche/common/platform/api/quiche_stream_buffer_allocator.h"
-#include "quiche/common/simple_buffer_allocator.h"
-
-namespace quic {
-
-class QuicRandom;
-
-enum class QuicAllocator { SIMPLE, BUFFER_POOL };
-
-class QUIC_EXPORT_PRIVATE QuicEpollConnectionHelper
-    : public QuicConnectionHelperInterface {
- public:
-  QuicEpollConnectionHelper(QuicEpollServer* epoll_server,
-                            QuicAllocator allocator_type);
-  QuicEpollConnectionHelper(const QuicEpollConnectionHelper&) = delete;
-  QuicEpollConnectionHelper& operator=(const QuicEpollConnectionHelper&) =
-      delete;
-  ~QuicEpollConnectionHelper() override;
-
-  // QuicConnectionHelperInterface
-  const QuicClock* GetClock() const override;
-  QuicRandom* GetRandomGenerator() override;
-  quiche::QuicheBufferAllocator* GetStreamSendBufferAllocator() override;
-
- private:
-  const QuicEpollClock clock_;
-  QuicRandom* random_generator_;
-  // Set up allocators.  They take up minimal memory before use.
-  // Allocator for stream send buffers.
-  quiche::QuicheStreamBufferAllocator stream_buffer_allocator_;
-  quiche::SimpleBufferAllocator simple_buffer_allocator_;
-  QuicAllocator allocator_type_;
-};
-
-}  // namespace quic
-
-#endif  // QUICHE_QUIC_CORE_QUIC_EPOLL_CONNECTION_HELPER_H_
diff --git a/quiche/quic/core/quic_epoll_connection_helper_test.cc b/quiche/quic/core/quic_epoll_connection_helper_test.cc
deleted file mode 100644
index 4ce2f17..0000000
--- a/quiche/quic/core/quic_epoll_connection_helper_test.cc
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "quiche/quic/core/quic_epoll_connection_helper.h"
-
-#include "quiche/quic/core/crypto/quic_random.h"
-#include "quiche/quic/platform/api/quic_test.h"
-#include "quiche/common/platform/api/quiche_epoll_test_tools.h"
-
-namespace quic {
-namespace test {
-namespace {
-
-class QuicEpollConnectionHelperTest : public QuicTest {
- protected:
-  QuicEpollConnectionHelperTest()
-      : helper_(&epoll_server_, QuicAllocator::BUFFER_POOL) {}
-
-  quiche::QuicheFakeEpollServer epoll_server_;
-  QuicEpollConnectionHelper helper_;
-};
-
-TEST_F(QuicEpollConnectionHelperTest, GetClock) {
-  const QuicClock* clock = helper_.GetClock();
-  QuicTime start = clock->Now();
-
-  QuicTime::Delta delta = QuicTime::Delta::FromMilliseconds(5);
-  epoll_server_.AdvanceBy(delta.ToMicroseconds());
-
-  EXPECT_EQ(start + delta, clock->Now());
-}
-
-TEST_F(QuicEpollConnectionHelperTest, GetRandomGenerator) {
-  QuicRandom* random = helper_.GetRandomGenerator();
-  EXPECT_EQ(QuicRandom::GetInstance(), random);
-}
-
-}  // namespace
-}  // namespace test
-}  // namespace quic