diff options
Diffstat (limited to 'Source/Core/Common/ENetUtil.cpp')
| -rw-r--r-- | Source/Core/Common/ENetUtil.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/Core/Common/ENetUtil.cpp b/Source/Core/Common/ENetUtil.cpp index 646e7f5439..d06de7c82a 100644 --- a/Source/Core/Common/ENetUtil.cpp +++ b/Source/Core/Common/ENetUtil.cpp @@ -4,6 +4,7 @@ #include "Common/ENetUtil.h" #include "Common/CommonTypes.h" +#include "Common/Logging/Log.h" namespace ENetUtil { @@ -35,4 +36,24 @@ int ENET_CALLBACK InterceptCallback(ENetHost* host, ENetEvent* event) } return 0; } + +bool SendPacket(ENetPeer* socket, const sf::Packet& packet, u8 channel_id) +{ + ENetPacket* epac = + enet_packet_create(packet.getData(), packet.getDataSize(), ENET_PACKET_FLAG_RELIABLE); + if (!epac) + { + ERROR_LOG_FMT(NETPLAY, "Failed to create ENetPacket ({} bytes).", packet.getDataSize()); + return false; + } + + const int result = enet_peer_send(socket, channel_id, epac); + if (result != 0) + { + ERROR_LOG_FMT(NETPLAY, "Failed to send ENetPacket (error code {}).", result); + return false; + } + + return true; +} } // namespace ENetUtil |
