From 09f370c431c25b155664d0064b3a5e0d613f7d5d Mon Sep 17 00:00:00 2001 From: Lee Salzman Date: Mon, 31 Jan 2011 06:35:56 +0000 Subject: [PATCH] fixed bug where low reliable window stops pings from getting through git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6053 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/enet/ChangeLog | 2 +- source/enet/LICENSE | 2 +- source/enet/protocol.c | 17 +++++++++++++++-- source/lib/enet.lib | Bin 42250 -> 44848 bytes 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/source/enet/ChangeLog b/source/enet/ChangeLog index e604a332..553c03d7 100644 --- a/source/enet/ChangeLog +++ b/source/enet/ChangeLog @@ -1,4 +1,4 @@ -ENet CVS (December 23, 2010): +ENet CVS (January 31, 2011): * reliable data window size now scales with the throttle * fixed bug in fragment length calculation when checksums are used diff --git a/source/enet/LICENSE b/source/enet/LICENSE index df0f91e9..357a4e5c 100755 --- a/source/enet/LICENSE +++ b/source/enet/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2002-2010 Lee Salzman +Copyright (c) 2002-2011 Lee Salzman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/source/enet/protocol.c b/source/enet/protocol.c index f9b2b099..3c4347da 100755 --- a/source/enet/protocol.c +++ b/source/enet/protocol.c @@ -1262,6 +1262,7 @@ enet_protocol_send_reliable_outgoing_commands (ENetHost * host, ENetPeer * peer) ENetChannel *channel; enet_uint16 reliableWindow; size_t commandSize; + int windowExceeded = 0; currentCommand = enet_list_begin (& peer -> outgoingReliableCommands); @@ -1278,7 +1279,14 @@ enet_protocol_send_reliable_outgoing_commands (ENetHost * host, ENetPeer * peer) channel -> usedReliableWindows & ((((1 << ENET_PEER_FREE_RELIABLE_WINDOWS) - 1) << reliableWindow) | (((1 << ENET_PEER_FREE_RELIABLE_WINDOWS) - 1) >> (ENET_PEER_RELIABLE_WINDOW_SIZE - reliableWindow))))) break; - + + if (windowExceeded && outgoingCommand -> packet != NULL) + { + currentCommand = enet_list_next (currentCommand); + + continue; + } + commandSize = commandSizes [outgoingCommand -> command.header.command & ENET_PROTOCOL_COMMAND_MASK]; if (command >= & host -> commands [sizeof (host -> commands) / sizeof (ENetProtocol)] || buffer + 1 >= & host -> buffers [sizeof (host -> buffers) / sizeof (ENetBuffer)] || @@ -1294,7 +1302,12 @@ enet_protocol_send_reliable_outgoing_commands (ENetHost * host, ENetPeer * peer) enet_uint32 windowSize = (peer -> packetThrottle * peer -> windowSize) / ENET_PEER_PACKET_THROTTLE_SCALE; if (peer -> reliableDataInTransit + outgoingCommand -> fragmentLength > ENET_MAX (windowSize, peer -> mtu)) - break; + { + windowExceeded = 1; + currentCommand = enet_list_next (currentCommand); + + continue; + } if ((enet_uint16) (peer -> mtu - host -> packetSize) < (enet_uint16) (commandSize + outgoingCommand -> fragmentLength)) { diff --git a/source/lib/enet.lib b/source/lib/enet.lib index 319a0b1b746217310b36358a55e31d9aa210a89d..36af4f9784d6d73c79c0150a95ce582de6405d52 100644 GIT binary patch literal 44848 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 literal 42250 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