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(); }