use pool's rng for random tunnel/remote lease selection

This commit is contained in:
orignal 2024-08-25 21:35:33 -04:00
parent 0992a5124f
commit a69eade1f4

View File

@ -417,7 +417,14 @@ namespace datagram
auto sz = ls.size();
if (sz)
{
auto idx = rand() % sz;
int idx = -1;
if (m_LocalDestination)
{
auto pool = m_LocalDestination->GetTunnelPool ();
if (pool)
idx = m_LocalDestination->GetTunnelPool ()->GetRng ()() % sz;
}
if (idx < 0) idx = rand () % sz;
path->remoteLease = ls[idx];
}
else
@ -443,7 +450,14 @@ namespace datagram
auto sz = ls.size();
if (sz)
{
auto idx = rand() % sz;
int idx = -1;
if (m_LocalDestination)
{
auto pool = m_LocalDestination->GetTunnelPool ();
if (pool)
idx = m_LocalDestination->GetTunnelPool ()->GetRng ()() % sz;
}
if (idx < 0) idx = rand () % sz;
path->remoteLease = ls[idx];
}
else