François-Simon Fauteux-Chapleau
authored
In pj_stun_client_tsx_send_msg, the timeout for a STUN transaction is set to 16 times its RTO, which is 500 ms in our case (see the IceTransportFactory constructor). This means that the timer heap can contain timers with values of up to 16 * 500 = 8000 ms. When an IceTransport::Impl object gets destroyed, the flushTimerHeapAndIoQueue function is called and attempts to process the remaining timers in the timer heap. However, the amount of time it can spend doing this is limited by the value of MAX_DESTRUCTION_TIMEOUT, which is currently 3000 ms. Since this is less than the timeout for a STUN transaction, it is expected that there will sometimes be timers left in the heap (especially in case of connectivity changes, which make it more likely that STUN messages will need to be retransmitted). Change-Id: I309250923425f9e325b39b63bfd9380cff3eec91
Name | Last commit | Last update |
---|