[ENet-discuss] ordered packets

Lee Salzman lsalzman1 at cox.net
Wed Mar 29 16:00:53 PST 2006


All packets, regardless of type, are sent ASAP and out of order. They 
are delivered in ordered according to sequence number (save unsequenced) 
on the receiving end. An unreceived reliable packet will stall delivery 
of all other packets waiting to be delivered that have a higher sequence 
number, including unreliable packets, but obviously excluding 
unsequenced packets which have no sequence number.

However, if the unreceived packet is just an unreliable packet, the next 
packet in line will be delivered (to keep latency to an absolute 
minimum), and when the missed unreliable packet is finally received, it 
just gets dropped.

So, as far as the receiver cares about, its one big, happy, ordered 
packet stream. On the sending end, it's just a free-for-all.

Lee

Paul Collier wrote:
> Yeah, to add to that, you only get unordered packets if you specify
> ENET_PACKET_FLAG_UNSEQUENCED or something. Just wondering... doesn't
> enet send all of the reliable packets even if the previous ack wasn't
> received? I was under the impression that packets that arrive too
> early are simply dropped instead, i.e. ordering is done at the
> receiving end. I'm not too sure though.
> 
> - Paul
> 
> On 3/29/06, Tibor Klajnscek <tibor.klajnscek at gmail.com> wrote:
> 
>> Yes, as far as I know it should. It is the way enet works - it won't send
>>another reliable packet until the previous one gets through. Assuming you
>>send them on the same channel of course.
>>
>> - Tibor
>>
>>
>> siquan at ms16.hinet.net wrote:
>>
>>
>> If the server send packets with ENET_PACKET_FLAG_RELIABLE,
>> the client will receive them by order?
>>
>> Best regards,
>> Si-Quan
>>



More information about the ENet-discuss mailing list