summaryrefslogtreecommitdiff
path: root/Source/Core/Common/TraversalClient.cpp
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2015-03-14 15:19:18 +0100
committermathieui <mathieui@mathieui.net>2015-03-18 10:16:11 +0100
commite0ef8fc03f1fafc801ca5d857347f9fa1ea58881 (patch)
treefc54d572c1afb620f15c60f215548a34b95bfeda /Source/Core/Common/TraversalClient.cpp
parent8ee402863dbbd19b012c4653e0e9e54711cfe35f (diff)
NetPlay: Make the enet interrupts work
Otherwise, it would work but any async sending would be delayed by 4ms or wait until the next packet was received. Also increase the client timeout to 250ms, since enet_host_service is now really interrupted.
Diffstat (limited to 'Source/Core/Common/TraversalClient.cpp')
-rw-r--r--Source/Core/Common/TraversalClient.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/Core/Common/TraversalClient.cpp b/Source/Core/Common/TraversalClient.cpp
index 72d18244f3..02fe5ee26e 100644
--- a/Source/Core/Common/TraversalClient.cpp
+++ b/Source/Core/Common/TraversalClient.cpp
@@ -301,7 +301,8 @@ void TraversalClient::Reset()
int ENET_CALLBACK TraversalClient::InterceptCallback(ENetHost* host, ENetEvent* event)
{
auto traversalClient = g_TraversalClient.get();
- if (traversalClient->TestPacket(host->receivedData, host->receivedDataLength, &host->receivedAddress))
+ if (traversalClient->TestPacket(host->receivedData, host->receivedDataLength, &host->receivedAddress)
+ || (host->receivedDataLength == 1 && host->receivedData[0] == 0))
{
event->type = (ENetEventType)42;
return 1;