This UDP mode is called ‘catch all,
no out of order’.
The number for this UDP mode (to be used
with mnStartServer and mnGetUDPMode) is 4. C++ users can use the constant
UM_CATCH_ALL_NO instead.
UDP mode UM_CATCH_ALL_NO is used in exactly
the same way as UM_CATCH_ALL. The difference is that when using this
UDP mode, out of order packets are discarded.
When receiving normally (mnRecvUDP),
UDP packets are put into a queue and mnRecvUDP deals with each one individually
returning the number of packets in waiting. The client and operation
parameters of this command can be ignored.
There is a prefix of one unsigned integer
added silently (you do not need to deal with it) to all outgoing UDP
packets which is used to determine the age of a packet. The integer
is a packet count that increases by 1 every time a sender sends to us.
You can use mnGetUDPClock to retrieve this integer, and can use it to
calculate packet loss; if 2 packets are received with clock values of:
1 and 3, then one packet was lost and never received in between the
two successful sends.
You do not need to add any extra data
to your packets as you did with the other two UDP modes.