[ENet-discuss] Retransmission mechanism of enet
huangtodd at hotmail.com
Thu Jul 26 05:00:43 PDT 2007
Thanks for your kindly answers.
>The initial timeout is RTT + 4*variance. Next timeout is double that.
>Next is double again. Repeat ad nauseum until a limit. If limit reached,
What's the value of the limit? The number of retransmission occurs or
the timeout value?
If the limit is the timeout value, is it defined by
It seems that the enet will terminate the connection if the timeout
limit is reached. Could enet
be programmed to drop the unacked packets if the timeout limit is reached
instead of closing
>Packets are not sent over the network in any particular order. They are
>sent as soon as possibly can be, in any order. Reordering and sequencing
>happens on the delivery end of things. Doing otherwise would massively
>increase latency, and latency is the enemy here.
>It's just that if you're using reliable packets, even if ENet has the
>101st and 102nd packet, if the 100th is missing, then it waits till it
>gets the 100th and delivers it to you before passing you 101 and 102.
I think it's reasonable for the receiver to send data up to the
application in sequence in reliable
transmission. However, if the sender doesn't retransmit the unacked packets
in sequence, I think
the receiver could wait much time to receive the waiting packet.
>On top of this, they can all be delivered over independent channels
>which have no sequencing between them.
Could the multi-channel delivery be used in reliable transmission? If
the encoded data of
multimedia source (say, DVD) is sent over three channels to the player, how
does the player
reassemble the correct data sequence to the decoder?
>If you specify some decent values for bandwidth on enet_host_create(),
>instead of just 0, then ENet can also limit how high the throttle of
>individual clients will go based on the individual bandwidth limits of
>the client and how much data you're sending back and forth to them.
Do you mean the parameters of incomingBandwidth and outgoingBandwidth
enet_host_create()? I think these two parameters are used to define the
Am I right?
By the way, what kind of parameters (RTT, throttle,.....) are
recommended to fine tune the
enet connection (reliable) in a low bandwidth environment?
Don't just search. Find. Check out the new MSN Search!
More information about the ENet-discuss