diff --git a/source/enet/protocol.c b/source/enet/protocol.c index 8e26dfb2..f9b2b099 100755 --- a/source/enet/protocol.c +++ b/source/enet/protocol.c @@ -1291,7 +1291,9 @@ enet_protocol_send_reliable_outgoing_commands (ENetHost * host, ENetPeer * peer) if (outgoingCommand -> packet != NULL) { - if (peer -> reliableDataInTransit + outgoingCommand -> fragmentLength > peer -> windowSize) + enet_uint32 windowSize = (peer -> packetThrottle * peer -> windowSize) / ENET_PEER_PACKET_THROTTLE_SCALE; + + if (peer -> reliableDataInTransit + outgoingCommand -> fragmentLength > ENET_MAX (windowSize, peer -> mtu)) break; 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 235fdf0d..319a0b1b 100644 Binary files a/source/lib/enet.lib and b/source/lib/enet.lib differ