How is fragmentation for reliable packets supposed to work? Here's the problem I'm having... in enet_protocol_send_reliable_outgoing_commands, I have a packet for send that is bigger than the mtu. When I get to this code:<br>
<br> if (outgoingCommand -> packet != NULL)<br> {<br> if (peer -> reliableDataInTransit + outgoingCommand -> fragmentLength > peer -> windowSize)<br> break;<br><br> if ((enet_uint16) (peer -> mtu - host -> packetSize) < (enet_uint16) (commandSize + outgoingCommand -> fragmentLength))<br>
{<br> host -> continueSending = 1;<br><br> break;<br> }<br> }<br><br>The function gives up on my packet because it's too big in that second test. The problem is that because it's set the continueSending bit, the function that called this one (enet_protocol_send_outgoing_commands) tries again, but without having made any changes to my oversize packet. Where should fragmentation based on mtu be happening for this guy?<br>
<br>Thanks,<br>Chris<br>