Remove some of the APIs from epoll_server/platform
Use Abseil where appropriate; remove EPOLL_EXPORT as it's never required.
PiperOrigin-RevId: 443108467
diff --git a/quiche/epoll_server/fake_simple_epoll_server.h b/quiche/epoll_server/fake_simple_epoll_server.h
index 4338afe..62c9dd1 100644
--- a/quiche/epoll_server/fake_simple_epoll_server.h
+++ b/quiche/epoll_server/fake_simple_epoll_server.h
@@ -10,7 +10,6 @@
#include <map>
-#include "quiche/epoll_server/platform/api/epoll_export.h"
#include "quiche/epoll_server/simple_epoll_server.h"
namespace epoll_server {
@@ -19,8 +18,7 @@
// Unlike the full FakeEpollServer, this only lies about the time but lets
// fd events operate normally. Usefully when interacting with real backends
// but wanting to skip forward in time to trigger timeouts.
-class EPOLL_EXPORT_PRIVATE FakeTimeSimpleEpollServer
- : public SimpleEpollServer {
+class FakeTimeSimpleEpollServer : public SimpleEpollServer {
public:
FakeTimeSimpleEpollServer();
FakeTimeSimpleEpollServer(const FakeTimeSimpleEpollServer&) = delete;
@@ -53,8 +51,7 @@
int64_t now_in_usec_;
};
-class EPOLL_EXPORT_PRIVATE FakeSimpleEpollServer
- : public FakeTimeSimpleEpollServer {
+class FakeSimpleEpollServer : public FakeTimeSimpleEpollServer {
public: // type definitions
using EventQueue = std::multimap<int64_t, struct epoll_event>;
diff --git a/quiche/epoll_server/platform/api/epoll_export.h b/quiche/epoll_server/platform/api/epoll_export.h
deleted file mode 100644
index 4283cf9..0000000
--- a/quiche/epoll_server/platform/api/epoll_export.h
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2017 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_EPOLL_SERVER_PLATFORM_API_EPOLL_EXPORT_H_
-#define QUICHE_EPOLL_SERVER_PLATFORM_API_EPOLL_EXPORT_H_
-
-#include "quiche_platform_impl/epoll_export_impl.h"
-
-#endif // QUICHE_EPOLL_SERVER_PLATFORM_API_EPOLL_EXPORT_H_
diff --git a/quiche/epoll_server/platform/api/epoll_ptr_util.h b/quiche/epoll_server/platform/api/epoll_ptr_util.h
deleted file mode 100644
index 3ad17f4..0000000
--- a/quiche/epoll_server/platform/api/epoll_ptr_util.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2017 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_EPOLL_SERVER_PLATFORM_API_EPOLL_PTR_UTIL_H_
-#define QUICHE_EPOLL_SERVER_PLATFORM_API_EPOLL_PTR_UTIL_H_
-
-#include <memory>
-
-#include "quiche_platform_impl/epoll_ptr_util_impl.h"
-
-namespace epoll_server {
-
-template <typename T, typename... Args>
-std::unique_ptr<T> EpollMakeUnique(Args&&... args) {
- return EpollMakeUniqueImpl<T>(std::forward<Args>(args)...);
-}
-
-} // namespace epoll_server
-
-#endif // QUICHE_EPOLL_SERVER_PLATFORM_API_EPOLL_PTR_UTIL_H_
diff --git a/quiche/epoll_server/platform/api/epoll_time.h b/quiche/epoll_server/platform/api/epoll_time.h
deleted file mode 100644
index 4c7419b..0000000
--- a/quiche/epoll_server/platform/api/epoll_time.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2013 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_EPOLL_SERVER_PLATFORM_API_EPOLL_TIME_H_
-#define QUICHE_EPOLL_SERVER_PLATFORM_API_EPOLL_TIME_H_
-
-#include "quiche_platform_impl/epoll_time_impl.h"
-
-namespace epoll_server {
-
-inline int64_t WallTimeNowInUsec() { return WallTimeNowInUsecImpl(); }
-
-} // namespace epoll_server
-
-#endif // QUICHE_EPOLL_SERVER_PLATFORM_API_EPOLL_TIME_H_
diff --git a/quiche/epoll_server/simple_epoll_server.cc b/quiche/epoll_server/simple_epoll_server.cc
index 227089e..eb9d6c4 100644
--- a/quiche/epoll_server/simple_epoll_server.cc
+++ b/quiche/epoll_server/simple_epoll_server.cc
@@ -12,8 +12,8 @@
#include <algorithm>
#include <utility>
+#include "absl/time/clock.h"
#include "quiche/epoll_server/platform/api/epoll_bug.h"
-#include "quiche/epoll_server/platform/api/epoll_time.h"
// Design notes: An efficient implementation of ready list has the following
// desirable properties:
@@ -485,7 +485,9 @@
DCHECK_EQ(rv, 1);
}
-int64_t SimpleEpollServer::NowInUsec() const { return WallTimeNowInUsec(); }
+int64_t SimpleEpollServer::NowInUsec() const {
+ return absl::GetCurrentTimeNanos() / 1000;
+}
int64_t SimpleEpollServer::ApproximateNowInUsec() const {
if (recorded_now_in_us_ != 0) {
diff --git a/quiche/epoll_server/simple_epoll_server.h b/quiche/epoll_server/simple_epoll_server.h
index 7aeba67..405e306 100644
--- a/quiche/epoll_server/simple_epoll_server.h
+++ b/quiche/epoll_server/simple_epoll_server.h
@@ -37,7 +37,6 @@
#include <sys/epoll.h>
-#include "quiche/epoll_server/platform/api/epoll_export.h"
#include "quiche/epoll_server/platform/api/epoll_logging.h"
namespace epoll_server {
@@ -122,7 +121,7 @@
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
-class EPOLL_EXPORT_PRIVATE SimpleEpollServer {
+class SimpleEpollServer {
public:
typedef EpollAlarmCallbackInterface AlarmCB;
typedef EpollCallbackInterface CB;
@@ -1011,7 +1010,7 @@
// Any classes overriding these functions must either call the implementation
// of the parent class, or is must otherwise make sure that the 'registered_'
// boolean and the token, 'token_', are updated appropriately.
-class EPOLL_EXPORT_PRIVATE EpollAlarm : public EpollAlarmCallbackInterface {
+class EpollAlarm : public EpollAlarmCallbackInterface {
public:
EpollAlarm();
diff --git a/quiche/epoll_server/simple_epoll_server_test.cc b/quiche/epoll_server/simple_epoll_server_test.cc
index 3b64002..ba85038 100644
--- a/quiche/epoll_server/simple_epoll_server_test.cc
+++ b/quiche/epoll_server/simple_epoll_server_test.cc
@@ -24,13 +24,12 @@
#include <utility>
#include <vector>
+#include "absl/time/clock.h"
#include "quiche/epoll_server/fake_simple_epoll_server.h"
#include "quiche/epoll_server/platform/api/epoll_address_test_utils.h"
#include "quiche/epoll_server/platform/api/epoll_expect_bug.h"
-#include "quiche/epoll_server/platform/api/epoll_ptr_util.h"
#include "quiche/epoll_server/platform/api/epoll_test.h"
#include "quiche/epoll_server/platform/api/epoll_thread.h"
-#include "quiche/epoll_server/platform/api/epoll_time.h"
namespace epoll_server {
@@ -55,6 +54,8 @@
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
+int64_t WallTimeNowInUsec() { return absl::GetCurrentTimeNanos() / 1000; }
+
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
@@ -1738,7 +1739,7 @@
break;
default: { // Parent will receive message.
close(writer_pipe);
- auto ep = EpollMakeUnique<SimpleEpollServer>();
+ auto ep = std::make_unique<SimpleEpollServer>();
ep->set_timeout_in_us(1);
EpollReader reader(len);
ep->RegisterFD(reader_pipe, &reader, EPOLLIN);
@@ -1782,7 +1783,7 @@
int read_fd = pipe_fds[0];
int write_fd = pipe_fds[1];
- auto reader = EpollMakeUnique<EpollReader>(len);
+ auto reader = std::make_unique<EpollReader>(len);
// Check that registering a FD for read alerts us when there is data to be
// read.