diff options
author | Mark Spruiell <mes@zeroc.com> | 2001-12-12 18:40:53 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2001-12-12 18:40:53 +0000 |
commit | db61665e521305002f6b9da66b2a8ee9078cfa5e (patch) | |
tree | d4bf1bbba0099130a4ebdc9e4092091b8511944e /java/src/Ice/_ObjectDelM.java | |
parent | fix for nonmutating ops (diff) | |
download | ice-db61665e521305002f6b9da66b2a8ee9078cfa5e.tar.bz2 ice-db61665e521305002f6b9da66b2a8ee9078cfa5e.tar.xz ice-db61665e521305002f6b9da66b2a8ee9078cfa5e.zip |
randomize endpoints
Diffstat (limited to 'java/src/Ice/_ObjectDelM.java')
-rw-r--r-- | java/src/Ice/_ObjectDelM.java | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/java/src/Ice/_ObjectDelM.java b/java/src/Ice/_ObjectDelM.java index 7b54b9657e8..2a8bb93da0c 100644 --- a/java/src/Ice/_ObjectDelM.java +++ b/java/src/Ice/_ObjectDelM.java @@ -149,12 +149,25 @@ public class _ObjectDelM implements _ObjectDel new IceInternal.Endpoint[endpoints.size()]; endpoints.toArray(arr); - // TODO - //random_shuffle(endpoints.begin(), endpoints.end()); + random_shuffle(arr); IceInternal.EmitterFactory factory = __reference.instance.emitterFactory(); __emitter = factory.create(arr); assert(__emitter != null); } + + private static java.util.Random __random = new java.util.Random(); + + private static void + random_shuffle(IceInternal.Endpoint[] arr) + { + for (int i = 0; i < arr.length; i++) + { + int pos = Math.abs(__random.nextInt() % arr.length); + IceInternal.Endpoint tmp = arr[pos]; + arr[pos] = arr[i]; + arr[i] = tmp; + } + } } |