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