[ENet-discuss] Timeout after force disconnected

Marcin Zajączkowski mszpak at wp.pl
Wed Mar 31 12:56:23 PST 2004


Dnia 2004-03-29 22:41, Użytkownik Lee Salzman napisał:
> ENet uses a progressive timeout scheme. Initially, it gives all packets
> a window of (RTT + variance) to reply with an acknowledgement.
> Should no acknowledgement be delivered during this period, it will
> double this time window and resend the packet. If the window exceeds
> ENET_PEER_TIMEOUT_LIMIT*RTT it will finally disconnect.

After your hints and study the code, now I know why it waits about 75 
seconds in my case!

> Firstly, the cumulative amount of time spent waiting for an
> acknowledgement would be maintained, rather than just the current
> acknowledgement window. Then...

> 1) compare this cumulative time to a fixed constant, regardless of RTT
> 2) compare this cumulative time to ENET_PEER_TIMEOUT_LIMIT*RTT

I also think that compare cumulative amount of time will work better.
To the second part, I think that compare to ENET_PEER_TIMEOUT_LIMIT*RTT 
will be better because of fact that library could work with different 
network's connections (e.g. long ping) and fixed timeout could disallow 
any communication with that peers.
Otherwise we should consider for what appliances ENet will be use. In 
normal case developer can take tcp. In my opinion ENet is handy for 
appliances required fast reliable and/or unreliable connections. So I 
think developer should be able to choose his/her way (depend what he/she 
needs).
Additionally value respondents to ENET_PEER_TIMEOUT_LIMIT could be allow 
to change by developer.

Thanks for help
Marcin


More information about the ENet-discuss mailing list