diff options
author | leak <leak@bitmx.net> | 2014-07-02 17:38:44 +0200 |
---|---|---|
committer | leak <leak@bitmx.net> | 2014-07-02 17:38:44 +0200 |
commit | 310f5e68467ee61b66796fdd88c7c9691d4bd2a0 (patch) | |
tree | f182c5e0eb4d31c63dd851177b3afce2e1b187a0 /src/server/worldserver/Master.cpp | |
parent | c8fe4b8d5084dd26eb96a082422fcd68c090debc (diff) |
Some ground work for ASIO based RemoteAccess handling
Diffstat (limited to 'src/server/worldserver/Master.cpp')
-rw-r--r-- | src/server/worldserver/Master.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/server/worldserver/Master.cpp b/src/server/worldserver/Master.cpp index 920dc766900..5318652ad88 100644 --- a/src/server/worldserver/Master.cpp +++ b/src/server/worldserver/Master.cpp @@ -22,7 +22,8 @@ #include <thread> -#include "Common.h" +#include "Master.h" + #include "SystemConfig.h" #include "World.h" #include "WorldRunnable.h" @@ -31,19 +32,17 @@ #include "Configuration/Config.h" #include "Database/DatabaseEnv.h" #include "Database/DatabaseWorkerPool.h" - #include "CliRunnable.h" #include "Log.h" -#include "Master.h" #include "RARunnable.h" #include "TCSoap.h" #include "Timer.h" #include "Util.h" #include "RealmList.h" - #include "BigNumber.h" #include "OpenSSLCrypto.h" -#include <boost/asio.hpp> +#include "AsyncAcceptor.h" +#include "RASession.h" #ifdef _WIN32 #include "ServiceWin32.h" @@ -165,8 +164,8 @@ int Master::Run() cliThread = new std::thread(CliThread); } - // TODO C++11/Boost - // std::thread rarThread(RemoteAccessThread); + if (sConfigMgr->GetBoolDefault("Ra.Enable", false)) + StartRaSocketAcceptor(_ioService); #if defined(_WIN32) || defined(__linux__) @@ -470,3 +469,11 @@ void Master::ClearOnlineAccounts() // Battleground instance ids reset at server restart CharacterDatabase.DirectExecute("UPDATE character_battleground_data SET instanceId = 0"); } + +void Master::StartRaSocketAcceptor(boost::asio::io_service& ioService) +{ + uint16 raPort = uint16(sConfigMgr->GetIntDefault("Ra.Port", 3443)); + std::string raListener = sConfigMgr->GetStringDefault("Ra.IP", "0.0.0.0"); + + AsyncAcceptor<RASession> raAcceptor(ioService, raListener, raPort); +} |