FAForever / java-ice-adapter

A P2P connection proxy for Supreme Commander: Forged Alliance using ICE
MIT License
5 stars 12 forks source link

Investigate timeouts #4

Closed Geosearchef closed 5 years ago

Geosearchef commented 5 years ago

Timeout in lobby observed on my Laptop. (multiple times, multiple peers at the same time) client reconnected at thr same time, MAY be connection related

Geosearchef commented 5 years ago

may be caused by #8

BenKluwe commented 4 years ago

This occurs because the timeouts are set way too low. I've tested with a friend with timeouts of 60 seconds for gathering and 180 for establishing connection. It takes on average 30-40 seconds to gather candidates with 2 adapters active on windows. This time is shortened to less than the 5 second timeout when only the adapter that is being used is active (i.e. the connection to the internet).

I suggest getting rid of these timeouts as the underlying ICE agent is most likely designed to handle this case i.e. go into a failed or completed state at some point. When the ICE adapter exits it can still cancel the gathering or terminate the connections for a timely exit.

https://github.com/FAForever/java-ice-adapter/blob/1333c1ddbfd44e7e0a1cdc79a890aa18f9908ce5/ice-adapter/src/main/java/com/faforever/iceadapter/ice/PeerIceModule.java#L221 https://github.com/FAForever/java-ice-adapter/blob/1333c1ddbfd44e7e0a1cdc79a890aa18f9908ce5/ice-adapter/src/main/java/com/faforever/iceadapter/ice/PeerIceModule.java#L112