aboutsummaryrefslogtreecommitdiffhomepage
path: root/protocol.c
diff options
context:
space:
mode:
authoreihrul <eihrul>2007-10-21 20:18:58 +0000
committereihrul <eihrul>2007-10-21 20:18:58 +0000
commitd5db0aaf3e8a41fcad2c36c693a7a0e1308baf38 (patch)
tree96ac4feee332df9f2747dc8b98ae0ee431dc32a7 /protocol.c
parent1975dc0dc9c73cf9af1c75bad9e85275d02d4f27 (diff)
downloadenet-d5db0aaf3e8a41fcad2c36c693a7a0e1308baf38.tar.gz
enet-d5db0aaf3e8a41fcad2c36c693a7a0e1308baf38.zip
*** empty log message ***
Diffstat (limited to 'protocol.c')
-rw-r--r--protocol.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/protocol.c b/protocol.c
index d8281f0..244e4d3 100644
--- a/protocol.c
+++ b/protocol.c
@@ -1217,8 +1217,9 @@ enet_protocol_send_reliable_outgoing_commands (ENetHost * host, ENetPeer * peer)
if (channel != NULL &&
outgoingCommand -> sendAttempts < 1 &&
! (outgoingCommand -> reliableSequenceNumber % ENET_PEER_RELIABLE_WINDOW_SIZE) &&
- channel -> usedReliableWindows & ((((1 << ENET_PEER_FREE_RELIABLE_WINDOWS) - 1) << reliableWindow) |
- (((1 << ENET_PEER_FREE_RELIABLE_WINDOWS) - 1) >> (ENET_PEER_RELIABLE_WINDOW_SIZE - reliableWindow))))
+ (channel -> reliableWindows [(reliableWindow + ENET_PEER_RELIABLE_WINDOWS - 1) % ENET_PEER_RELIABLE_WINDOWS] >= ENET_PEER_RELIABLE_WINDOW_SIZE ||
+ channel -> usedReliableWindows & ((((1 << ENET_PEER_FREE_RELIABLE_WINDOWS) - 1) << reliableWindow) |
+ (((1 << ENET_PEER_FREE_RELIABLE_WINDOWS) - 1) >> (ENET_PEER_RELIABLE_WINDOW_SIZE - reliableWindow)))))
break;
commandSize = commandSizes [outgoingCommand -> command.header.command & ENET_PROTOCOL_COMMAND_MASK];