summaryrefslogtreecommitdiff
path: root/Source/Core/Common/ENetUtil.cpp
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2022-10-08 21:04:14 -0400
committerGitHub <noreply@github.com>2022-10-08 21:04:14 -0400
commite28878616f494e0ccbcd7acdd1adbb9988708246 (patch)
tree10ecc5343ff59ce096f9450d55fd7a1396efe5f8 /Source/Core/Common/ENetUtil.cpp
parent5f3e8e0f05f0027e9c5c5d8f0d53ec58d32bc507 (diff)
parentbfbc04ef5ec6bc51a931108456e174ec2f291155 (diff)
Merge pull request #11145 from AdmiralCurtiss/send-packet-check
Check return values of ENet functions when sending packet.
Diffstat (limited to 'Source/Core/Common/ENetUtil.cpp')
-rw-r--r--Source/Core/Common/ENetUtil.cpp21
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