Skip to content

Commit

Permalink
fix(elimination_handler): re-write patch (#86)
Browse files Browse the repository at this point in the history
  • Loading branch information
diamante0018 authored May 4, 2024
1 parent f9e6352 commit f2dd8d5
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 17 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@
[submodule "deps/curl"]
path = deps/curl
url = https://github.com/curl/curl.git
branch = curl-8_5_0
branch = curl-8_7_1
2 changes: 1 addition & 1 deletion deps/curl
Submodule curl updated 2131 files
12 changes: 5 additions & 7 deletions src/server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@ void server::run_frame()
}
catch (const service::execution_exception& e)
{
console::warn("Execption in service: %s", e.what());
console::warn("Exception in service: %s", e.what());
}
catch (const std::exception& e)
{
console::error("Fatal execption in service: %s", e.what());
console::error("Fatal exception in service: %s", e.what());
}
}
}
Expand All @@ -84,8 +84,7 @@ void server::handle_command(const network::address& target, const std::string_vi
}

#ifdef DEBUG
console::log("Handling command (%s): %.*s - %.*s", target.to_string().data(), command.size(), command.data(),
data.size(), data.data());
console::log("Handling command (%s): %.*s - %.*s", target.to_string().data(), command.size(), command.data(), data.size(), data.data());
#endif

try
Expand All @@ -94,12 +93,11 @@ void server::handle_command(const network::address& target, const std::string_vi
}
catch (const service::execution_exception& e)
{
console::warn("Execption in command %.*s (%s): %s", command.size(), command.data(), target.to_string().data(),
console::warn("Exception in command %.*s (%s): %s", command.size(), command.data(), target.to_string().data(),
e.what());
}
catch (const std::exception& e)
{
console::error("Fatal execption in command %.*s (%s): %s", command.size(), command.data(),
target.to_string().data(), e.what());
console::error("Fatal exception in command %.*s (%s): %s", command.size(), command.data(), target.to_string().data(), e.what());
}
}
2 changes: 1 addition & 1 deletion src/server_list.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "game_server.hpp"
#include "network_list.hpp"

class server_list : public network_list<game_server, 30>
class server_list : public network_list<game_server, 25>
{
public:
void find_registered_servers(game_type game, int protocol, const access_func& accessor);
Expand Down
12 changes: 5 additions & 7 deletions src/services/elimination_handler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ constexpr size_t MAX_SERVERS_PER_GAME = 10;

void elimination_handler::run_frame()
{
std::unordered_map<game_type, std::unordered_map<network::address, size_t>> server_count;
std::unordered_map<game_type, std::unordered_map<std::string, size_t>> server_count;

auto now = std::chrono::high_resolution_clock::now();
this->get_server().get_server_list().iterate([&](server_list::iteration_context& context)
Expand All @@ -29,17 +29,15 @@ void elimination_handler::run_frame()
if (server.game == game_type::t7 && server.protocol < T7_PROTOCOL)
{
#ifdef _DEBUG
console::log("Removing T7 server '%s' because they are using an outdated protocol (%i)\n",
context.get_address().to_string().data(), server.protocol);
console::log("Removing T7 server '%s' because they are using an outdated protocol (%i)", context.get_address().to_string().data(), server.protocol);
#endif
context.remove();
}

++server_count[server.game][context.get_address()];
if (server_count[server.game][context.get_address()] >= MAX_SERVERS_PER_GAME)
++server_count[server.game][context.get_address().to_string(false)];
if (server_count[server.game][context.get_address().to_string(false)] >= MAX_SERVERS_PER_GAME)
{
console::log("Removing server '%s' because it exceeds MAX_SERVERS_PER_GAME\n",
context.get_address().to_string().data());
console::log("Removing server '%s' because it exceeds MAX_SERVERS_PER_GAME", context.get_address().to_string().data());
context.remove();
}
});
Expand Down

0 comments on commit f2dd8d5

Please sign in to comment.