Move the QuicEpollServerFactory out of quic_simple_server_bin.
gfe-relnote: n/a - tools only
PiperOrigin-RevId: 249051087
Change-Id: I3409adcfdfed3e32979510de17675c7161544c6c
diff --git a/quic/tools/quic_epoll_server_factory.cc b/quic/tools/quic_epoll_server_factory.cc
new file mode 100644
index 0000000..f0c206a
--- /dev/null
+++ b/quic/tools/quic_epoll_server_factory.cc
@@ -0,0 +1,18 @@
+// Copyright (c) 2019 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 "net/third_party/quiche/src/quic/tools/quic_epoll_server_factory.h"
+
+#include "net/third_party/quiche/src/quic/tools/quic_server.h"
+
+namespace quic {
+
+std::unique_ptr<quic::QuicSpdyServerBase> QuicEpollServerFactory::CreateServer(
+ quic::QuicSimpleServerBackend* backend,
+ std::unique_ptr<quic::ProofSource> proof_source) {
+ return quic::QuicMakeUnique<quic::QuicServer>(std::move(proof_source),
+ backend);
+}
+
+} // namespace quic
diff --git a/quic/tools/quic_epoll_server_factory.h b/quic/tools/quic_epoll_server_factory.h
new file mode 100644
index 0000000..391f3cd
--- /dev/null
+++ b/quic/tools/quic_epoll_server_factory.h
@@ -0,0 +1,26 @@
+// Copyright (c) 2019 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_TOOLS_EPOLL_SERVER_FACTORY_H_
+#define QUICHE_QUIC_TOOLS_EPOLL_SERVER_FACTORY_H_
+
+#include "net/third_party/quiche/src/quic/platform/api/quic_epoll.h"
+#include "net/third_party/quiche/src/quic/tools/quic_toy_server.h"
+
+namespace quic {
+
+// Factory creating QuicServer instances.
+class QuicEpollServerFactory : public QuicToyServer::ServerFactory {
+ public:
+ std::unique_ptr<QuicSpdyServerBase> CreateServer(
+ QuicSimpleServerBackend* backend,
+ std::unique_ptr<ProofSource> proof_source) override;
+
+ private:
+ QuicEpollServer epoll_server_;
+};
+
+} // namespace quic
+
+#endif // QUICHE_QUIC_TOOLS_EPOLL_SERVER_FACTORY_H_
diff --git a/quic/tools/quic_server_bin.cc b/quic/tools/quic_server_bin.cc
index bd13913..541f6f9 100644
--- a/quic/tools/quic_server_bin.cc
+++ b/quic/tools/quic_server_bin.cc
@@ -9,21 +9,9 @@
#include "net/third_party/quiche/src/quic/core/quic_versions.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
-#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
-#include "net/third_party/quiche/src/quic/tools/quic_server.h"
-#include "net/third_party/quiche/src/quic/tools/quic_simple_server_backend.h"
+#include "net/third_party/quiche/src/quic/tools/quic_epoll_server_factory.h"
#include "net/third_party/quiche/src/quic/tools/quic_toy_server.h"
-class SimpleServerFactory : public quic::QuicToyServer::ServerFactory {
- public:
- std::unique_ptr<quic::QuicSpdyServerBase> CreateServer(
- quic::QuicSimpleServerBackend* backend,
- std::unique_ptr<quic::ProofSource> proof_source) override {
- return quic::QuicMakeUnique<quic::QuicServer>(std::move(proof_source),
- backend);
- }
-};
-
int main(int argc, char* argv[]) {
const char* usage = "Usage: quic_server [options]";
std::vector<std::string> non_option_args =
@@ -34,7 +22,7 @@
}
quic::QuicToyServer::MemoryCacheBackendFactory backend_factory;
- SimpleServerFactory server_factory;
+ quic::QuicEpollServerFactory server_factory;
quic::QuicToyServer server(&backend_factory, &server_factory);
return server.Start();
}