// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include #include #include namespace zen { namespace asio_http { struct HttpServerConnection; struct HttpAcceptor; struct HttpAsioServerImpl; } // namespace asio_http class HttpAsioServer : public HttpServer { public: HttpAsioServer(); ~HttpAsioServer(); virtual void RegisterService(HttpService& Service) override; virtual int Initialize(int BasePort) override; virtual void Run(bool IsInteractiveSession) override; virtual void RequestExit() override; private: Event m_ShutdownEvent; int m_BasePort = 0; std::unique_ptr m_Impl; }; } // namespace zen