diff options
-rw-r--r-- | src/server/authserver/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/server/authserver/Main.cpp | 5 | ||||
-rw-r--r-- | src/server/authserver/Server/AuthServer.cpp | 37 | ||||
-rw-r--r-- | src/server/authserver/Server/AuthServer.h | 44 |
4 files changed, 4 insertions, 83 deletions
diff --git a/src/server/authserver/CMakeLists.txt b/src/server/authserver/CMakeLists.txt index bde75654c92..d6f0515a8e1 100644 --- a/src/server/authserver/CMakeLists.txt +++ b/src/server/authserver/CMakeLists.txt @@ -50,6 +50,7 @@ include_directories( ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography/Authentication ${CMAKE_SOURCE_DIR}/src/server/shared/Logging + ${CMAKE_SOURCE_DIR}/src/server/shared/Networking ${CMAKE_SOURCE_DIR}/src/server/shared/Threading ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities ${CMAKE_CURRENT_SOURCE_DIR} diff --git a/src/server/authserver/Main.cpp b/src/server/authserver/Main.cpp index ad04a52c7db..988ee901139 100644 --- a/src/server/authserver/Main.cpp +++ b/src/server/authserver/Main.cpp @@ -39,7 +39,8 @@ #include "SystemConfig.h" #include "Util.h" #include "RealmList.h" -#include "AuthServer.h" +#include "AsyncAcceptor.h" +#include "AuthSession.h" #ifdef __linux__ @@ -170,7 +171,7 @@ int main(int argc, char** argv) std::string bindIp = sConfigMgr->GetStringDefault("BindIP", "0.0.0.0"); - AuthServer authServer(_ioService, bindIp, port); + AsyncAcceptor<AuthSession> authServer(_ioService, bindIp, port); // Set signal handlers boost::asio::signal_set signals(_ioService, SIGINT, SIGTERM); diff --git a/src/server/authserver/Server/AuthServer.cpp b/src/server/authserver/Server/AuthServer.cpp deleted file mode 100644 index c5a0cff186f..00000000000 --- a/src/server/authserver/Server/AuthServer.cpp +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "AuthServer.h" -#include "AuthSession.h" - -#include <boost/bind.hpp> -#include <boost/asio.hpp> - -using boost::asio::ip::tcp; - -void AuthServer::AsyncAccept() -{ - _acceptor.async_accept(_socket, [this](boost::system::error_code error) - { - if (!error) - { - std::make_shared<AuthSession>(std::move(_socket))->Start(); - } - - AsyncAccept(); - }); -} diff --git a/src/server/authserver/Server/AuthServer.h b/src/server/authserver/Server/AuthServer.h deleted file mode 100644 index 985a48ad243..00000000000 --- a/src/server/authserver/Server/AuthServer.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef __AUTHSERVER_H__ -#define __AUTHSERVER_H__ - -#include <boost/asio.hpp> - -using boost::asio::ip::tcp; - -class AuthServer -{ -public: - AuthServer(boost::asio::io_service& ioService, std::string bindIp, int port) : _socket(ioService), _acceptor(ioService, tcp::endpoint(tcp::v4(), port)) - { - tcp::endpoint endpoint(boost::asio::ip::address::from_string(bindIp), port); - - _acceptor = tcp::acceptor(ioService, endpoint); - - AsyncAccept(); - }; - -private: - void AsyncAccept(); - - tcp::acceptor _acceptor; - tcp::socket _socket; -}; - -#endif /* __AUTHSERVER_H__ */ |