diff --git a/Source/Core/Common/ENet.cpp b/Source/Core/Common/ENet.cpp index b694eba042..6e27036175 100644 --- a/Source/Core/Common/ENet.cpp +++ b/Source/Core/Common/ENet.cpp @@ -31,7 +31,7 @@ int ENET_CALLBACK InterceptCallback(ENetHost* host, ENetEvent* event) // wakeup packet received if (host->receivedDataLength == 1 && host->receivedData[0] == 0) { - event->type = (ENetEventType)42; + event->type = SKIPPABLE_EVENT; return 1; } return 0; diff --git a/Source/Core/Common/ENet.h b/Source/Core/Common/ENet.h index f1791ca41d..920a7d5fbd 100644 --- a/Source/Core/Common/ENet.h +++ b/Source/Core/Common/ENet.h @@ -21,4 +21,7 @@ using ENetHostPtr = std::unique_ptr; void WakeupThread(ENetHost* host); int ENET_CALLBACK InterceptCallback(ENetHost* host, ENetEvent* event); bool SendPacket(ENetPeer* socket, const sf::Packet& packet, u8 channel_id); + +// used for traversal packets and wake-up packets +constexpr ENetEventType SKIPPABLE_EVENT = ENetEventType(42); } // namespace Common::ENet diff --git a/Source/Core/Common/TraversalClient.cpp b/Source/Core/Common/TraversalClient.cpp index e384c1cca8..50278a37e9 100644 --- a/Source/Core/Common/TraversalClient.cpp +++ b/Source/Core/Common/TraversalClient.cpp @@ -299,7 +299,7 @@ int ENET_CALLBACK TraversalClient::InterceptCallback(ENetHost* host, ENetEvent* &host->receivedAddress) || (host->receivedDataLength == 1 && host->receivedData[0] == 0)) { - event->type = (ENetEventType)42; + event->type = Common::ENet::SKIPPABLE_EVENT; return 1; } return 0; diff --git a/Source/Core/Core/NetPlayClient.cpp b/Source/Core/Core/NetPlayClient.cpp index 014bd3b523..0e561b51f1 100644 --- a/Source/Core/Core/NetPlayClient.cpp +++ b/Source/Core/Core/NetPlayClient.cpp @@ -257,7 +257,7 @@ bool NetPlayClient::Connect() ENetEvent netEvent; int net; while ((net = enet_host_service(m_client, &netEvent, 5000)) > 0 && - netEvent.type == ENetEventType(42)) // See PR #11381 and ENetUtil::InterceptCallback + netEvent.type == Common::ENet::SKIPPABLE_EVENT) { // ignore packets from traversal server } @@ -1644,7 +1644,11 @@ void NetPlayClient::ThreadFunc() break; default: - ERROR_LOG_FMT(NETPLAY, "enet_host_service: unknown event type: {}", int(netEvent.type)); + // not a valid switch case due to not technically being part of the enum + if (netEvent.type == Common::ENet::SKIPPABLE_EVENT) + INFO_LOG_FMT(NETPLAY, "enet_host_service: skippable packet event"); + else + ERROR_LOG_FMT(NETPLAY, "enet_host_service: unknown event type: {}", int(netEvent.type)); break; } } diff --git a/Source/Core/Core/NetPlayServer.cpp b/Source/Core/Core/NetPlayServer.cpp index 7c49d7b1da..7eb994a13c 100644 --- a/Source/Core/Core/NetPlayServer.cpp +++ b/Source/Core/Core/NetPlayServer.cpp @@ -386,7 +386,11 @@ void NetPlayServer::ThreadFunc() } break; default: - ERROR_LOG_FMT(NETPLAY, "enet_host_service: unknown event type: {}", int(netEvent.type)); + // not a valid switch case due to not technically being part of the enum + if (netEvent.type == Common::ENet::SKIPPABLE_EVENT) + INFO_LOG_FMT(NETPLAY, "enet_host_service: skippable packet event"); + else + ERROR_LOG_FMT(NETPLAY, "enet_host_service: unknown event type: {}", int(netEvent.type)); break; } }