1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-02-07 13:08:09 +02:00

Code review

This commit is contained in:
Simeon Manolov 2024-07-12 14:54:28 +03:00
parent 9d73b50979
commit 5b6bc10131
No known key found for this signature in database
GPG Key ID: 0AAC6D4A304B5635
2 changed files with 12 additions and 11 deletions

View File

@ -23,28 +23,29 @@
ServerThreadRunner::ServerThreadRunner() = default;
ServerThreadRunner::~ServerThreadRunner() = default;
uint16_t ServerThreadRunner::start(uint16_t port, bool connectToLobby, std::shared_ptr<StartInfo> startingInfo)
uint16_t ServerThreadRunner::start(uint16_t cfgport, bool connectToLobby, std::shared_ptr<StartInfo> startingInfo)
{
server = std::make_unique<CVCMIServer>(port, true);
// cfgport may be 0 -- the real port is returned after calling prepare()
server = std::make_unique<CVCMIServer>(cfgport, true);
if (startingInfo)
{
server->si = startingInfo; //Else use default
}
uint16_t srvport = port;
std::promise<uint16_t> promise;
threadRunLocalServer = boost::thread([this, connectToLobby, &srvport]{
threadRunLocalServer = boost::thread([this, connectToLobby, &promise]{
setThreadName("runServer");
srvport = server->prepare(connectToLobby);
std::this_thread::sleep_for(std::chrono::seconds(5));
uint16_t port = server->prepare(connectToLobby);
promise.set_value(port);
server->run();
});
while(srvport == 0) {
logNetwork->trace("Waiting for server port...");
boost::this_thread::sleep(boost::posix_time::milliseconds(100));
logNetwork->debug("Server port: %d", srvport);
}
logNetwork->trace("Waiting for server port...");
auto srvport = promise.get_future().get();
logNetwork->debug("Server port: %d", srvport);
return srvport;
}

View File

@ -21,7 +21,7 @@ NetworkServer::NetworkServer(INetworkServerListener & listener, const std::share
uint16_t NetworkServer::start(uint16_t port)
{
acceptor = std::make_shared<NetworkAcceptor>(*io, boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string("127.0.0.1"), port));
acceptor = std::make_shared<NetworkAcceptor>(*io, boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), port));
return startAsyncAccept();
}