summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/AdapterCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/AdapterCache.cpp')
-rw-r--r--cpp/src/IceGrid/AdapterCache.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/cpp/src/IceGrid/AdapterCache.cpp b/cpp/src/IceGrid/AdapterCache.cpp
index 952a58d7686..7a43d8c7d54 100644
--- a/cpp/src/IceGrid/AdapterCache.cpp
+++ b/cpp/src/IceGrid/AdapterCache.cpp
@@ -16,11 +16,11 @@
#include <IceGrid/NodeCache.h>
#include <IceGrid/SessionI.h>
+#include <functional>
+
using namespace std;
using namespace IceGrid;
-pointer_to_unary_function<int, int> ReplicaGroupEntry::_rand(IceUtil::random);
-
namespace IceGrid
{
@@ -365,14 +365,14 @@ ReplicaGroupEntry::getProxies(int& nReplicas, bool& replicaGroup)
else if(AdaptiveLoadBalancingPolicyPtr::dynamicCast(_loadBalancing))
{
replicas = _replicas;
- random_shuffle(replicas.begin(), replicas.end(), _rand);
+ random_shuffle(replicas.begin(), replicas.end(), RandomNumberGenerator());
adaptive = true;
loadSample = _loadSample;
}
else// if(RandomLoadBalancingPolicyPtr::dynamicCast(_loadBalancing))
{
replicas = _replicas;
- random_shuffle(replicas.begin(), replicas.end(), _rand);
+ random_shuffle(replicas.begin(), replicas.end(), RandomNumberGenerator());
}
}
@@ -439,7 +439,7 @@ ReplicaGroupEntry::getLeastLoadedNodeLoad(LoadSample loadSample) const
// This must be done outside the synchronization block since
// min_element() will call and lock each server entry.
//
- random_shuffle(replicas.begin(), replicas.end(), _rand);
+ random_shuffle(replicas.begin(), replicas.end(), RandomNumberGenerator());
vector<ReplicaLoadComp::ReplicaLoad> rl;
transform(replicas.begin(), replicas.end(), back_inserter(rl), ToReplicaLoad(loadSample));
AdapterEntryPtr adpt = min_element(rl.begin(), rl.end(), ReplicaLoadComp())->second.second;