Hi All:<br><br> I am reading the source code of enet-1.3.4, but have some questions now. Can someone explain when enet_peer_queue_incoming_<div id=":yo">commands() process reliable command, if the reliableSequenceNumber < channel -> incomingReliableSequenceNumber, it will be added at the end of the channel -> incomingReliableCommands? Then how it worked? Why not drop it? Thanks!<br>
<br>790 case ENET_PROTOCOL_COMMAND_SEND_RELIABLE:<br>791 if (reliableSequenceNumber == channel -> incomingReliableSequenceNumber)<br>792 goto freePacket;<br>793 <br>794 for (currentCommand = enet_list_previous (enet_list_end (& channel -> incomingReliableCommands));<br>
795 currentCommand != enet_list_end (& channel -> incomingReliableCommands);<br>796 currentCommand = enet_list_previous (currentCommand))<br>797 {<br>798 incomingCommand = (ENetIncomingCommand *) currentCommand;<br>
799 <br>800 if (reliableSequenceNumber >= channel -> incomingReliableSequenceNumber)<br>801 {<br>802 if (incomingCommand -> reliableSequenceNumber < channel -> incomingReliableSequenceNumber)<br>
803 continue;<br>804 }<br>805 else<br>806 if (incomingCommand -> reliableSequenceNumber >= channel -> incomingReliableSequenceNumber)<br>807 break;<br>808 <br>
809 if (incomingCommand -> reliableSequenceNumber <= reliableSequenceNumber)<br>810 {<br>811 if (incomingCommand -> reliableSequenceNumber < reliableSequenceNumber)<br>812 break;<br>
813 <br>814 goto freePacket;<br>815 }<br>816 }<br>817 break;<br><br>Kaka Chen</div>