public class org.apache.dubbo.registry.client.selector.RandomServiceInstanceSelector extends java.lang.Object implements org.apache.dubbo.registry.client.selector.ServiceInstanceSelector
{
public void <init>()
{
org.apache.dubbo.registry.client.selector.RandomServiceInstanceSelector v;
v := @this: org.apache.dubbo.registry.client.selector.RandomServiceInstanceSelector;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public org.apache.dubbo.registry.client.ServiceInstance select(org.apache.dubbo.common.URL, java.util.List)
{
java.util.List v;
org.apache.dubbo.common.URL v;
int v, v;
java.lang.Object v;
org.apache.dubbo.registry.client.selector.RandomServiceInstanceSelector v;
v := @this: org.apache.dubbo.registry.client.selector.RandomServiceInstanceSelector;
v := @parameter: org.apache.dubbo.common.URL;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= 1 goto label;
return null;
label:
if v != 1 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.registry.client.selector.RandomServiceInstanceSelector: int selectIndexRandomly(int)>(v);
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
return v;
}
protected int selectIndexRandomly(int)
{
java.util.concurrent.ThreadLocalRandom v;
int v, v;
org.apache.dubbo.registry.client.selector.RandomServiceInstanceSelector v;
v := @this: org.apache.dubbo.registry.client.selector.RandomServiceInstanceSelector;
v := @parameter: int;
v = staticinvoke <java.util.concurrent.ThreadLocalRandom: java.util.concurrent.ThreadLocalRandom current()>();
v = virtualinvoke v.<java.util.concurrent.ThreadLocalRandom: int nextInt(int)>(v);
return v;
}
}