|
|
|
@ -1460,17 +1460,20 @@ namespace stream
@@ -1460,17 +1460,20 @@ namespace stream
|
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (!updated && leases.size () > 1) |
|
|
|
|
if (!updated) |
|
|
|
|
{ |
|
|
|
|
uint32_t i = m_LocalDestination.GetRandom () % leases.size (); |
|
|
|
|
if (m_CurrentRemoteLease && leases[i]->tunnelID == m_CurrentRemoteLease->tunnelID) |
|
|
|
|
{ |
|
|
|
|
// make sure we don't select previous
|
|
|
|
|
if (leases.size () > 1) |
|
|
|
|
i = (i + 1) % leases.size (); // if so, pick next
|
|
|
|
|
m_CurrentRemoteLease = leases[i]; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
isLeaseChanged = false; |
|
|
|
|
} |
|
|
|
|
m_CurrentRemoteLease = leases[i]; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
LogPrint (eLogWarning, "Streaming: All remote leases are expired"); |
|
|
|
|