Skip to content
Snippets Groups Projects
François-Simon Fauteux-Chapleau's avatar
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
36630fa2
History
Name Last commit Last update