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