public class oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier extends java.lang.Object
{
private final oadd.org.apache.curator.framework.CuratorFramework client;
private final java.lang.String barrierPath;
private final int memberQty;
private final java.lang.String ourPath;
private final java.lang.String readyPath;
private final java.util.concurrent.atomic.AtomicBoolean hasBeenNotified;
private final java.util.concurrent.atomic.AtomicBoolean connectionLost;
private final oadd.org.apache.zookeeper.Watcher watcher;
private static final java.lang.String READY_NODE;
public void <init>(oadd.org.apache.curator.framework.CuratorFramework, java.lang.String, int)
{
java.util.concurrent.atomic.AtomicBoolean v, v;
java.util.UUID v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier v;
int v;
java.lang.String v, v, v, v, v;
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier$1 v;
boolean v;
v := @this: oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: java.lang.String;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.util.concurrent.atomic.AtomicBoolean hasBeenNotified> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.util.concurrent.atomic.AtomicBoolean connectionLost> = v;
v = new oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier$1;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier$1: void <init>(oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier)>(v);
v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.zookeeper.Watcher watcher> = v;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: void checkState(boolean,java.lang.Object)>(v, "memberQty cannot be 0");
v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.curator.framework.CuratorFramework client> = v;
v = staticinvoke <oadd.org.apache.curator.utils.PathUtils: java.lang.String validatePath(java.lang.String)>(v);
v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String barrierPath> = v;
v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: int memberQty> = v;
v = staticinvoke <java.util.UUID: java.util.UUID randomUUID()>();
v = virtualinvoke v.<java.util.UUID: java.lang.String toString()>();
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, v);
v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String ourPath> = v;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, "ready");
v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String readyPath> = v;
return;
}
public void enter() throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier v;
v := @this: oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: boolean enter(long,java.util.concurrent.TimeUnit)>(-1L, null);
return;
}
public boolean enter(long, java.util.concurrent.TimeUnit) throws java.lang.Exception
{
oadd.org.apache.zookeeper.CreateMode v;
java.util.concurrent.atomic.AtomicBoolean v;
long v, v, v, v;
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier v;
oadd.org.apache.zookeeper.Watcher v;
oadd.org.apache.curator.framework.api.CreateBuilder v;
oadd.org.apache.zookeeper.KeeperException$ConnectionLossException v;
java.lang.String v, v;
boolean v, v, v, v, v, v;
oadd.org.apache.curator.framework.CuratorFramework v, v;
oadd.org.apache.curator.framework.api.ProtectACLCreateModeStatPathAndBytesable v;
java.util.concurrent.TimeUnit v, v;
oadd.org.apache.curator.framework.api.ExistsBuilder v;
java.lang.Object v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long convert(long,java.util.concurrent.TimeUnit)>(v, v);
goto label;
label:
v = 9223372036854775807L;
label:
v = v;
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.ExistsBuilder checkExists()>();
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.zookeeper.Watcher watcher>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.ExistsBuilder: java.lang.Object usingWatcher(oadd.org.apache.zookeeper.Watcher)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String readyPath>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.BackgroundPathable: java.lang.Object forPath(java.lang.String)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.CreateBuilder create()>();
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.CreateBuilder: oadd.org.apache.curator.framework.api.ProtectACLCreateModeStatPathAndBytesable creatingParentContainersIfNeeded()>();
v = <oadd.org.apache.zookeeper.CreateMode: oadd.org.apache.zookeeper.CreateMode EPHEMERAL>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.ProtectACLCreateModeStatPathAndBytesable: java.lang.Object withMode(oadd.org.apache.zookeeper.CreateMode)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String ourPath>;
interfaceinvoke v.<oadd.org.apache.curator.framework.api.ACLBackgroundPathAndBytesable: java.lang.Object forPath(java.lang.String)>(v);
if v != 0 goto label;
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: boolean internalEnter(long,boolean,long)>(v, v, v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.util.concurrent.atomic.AtomicBoolean connectionLost>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new oadd.org.apache.zookeeper.KeeperException$ConnectionLossException;
specialinvoke v.<oadd.org.apache.zookeeper.KeeperException$ConnectionLossException: void <init>()>();
throw v;
label:
return v;
}
public synchronized void leave() throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier v;
v := @this: oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: boolean leave(long,java.util.concurrent.TimeUnit)>(-1L, null);
return;
}
public synchronized boolean leave(long, java.util.concurrent.TimeUnit) throws java.lang.Exception
{
long v, v, v;
java.util.concurrent.TimeUnit v, v;
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier v;
boolean v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long convert(long,java.util.concurrent.TimeUnit)>(v, v);
goto label;
label:
v = 9223372036854775807L;
label:
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: boolean internalLeave(long,boolean,long)>(v, v, v);
return v;
}
protected java.util.List getChildrenForEntering() throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier v;
java.lang.Object v;
java.lang.String v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.api.GetChildrenBuilder v;
v := @this: oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier;
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.GetChildrenBuilder getChildren()>();
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String barrierPath>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetChildrenBuilder: java.lang.Object forPath(java.lang.String)>(v);
return v;
}
private java.util.List filterAndSortChildren(java.util.List)
{
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier$2 v;
java.util.List v;
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier v;
java.lang.Iterable v;
java.util.ArrayList v;
v := @this: oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier;
v := @parameter: java.util.List;
v = new oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier$2;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier$2: void <init>(oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier)>(v);
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Iterables: java.lang.Iterable filter(java.lang.Iterable,oadd.org.apache.curator.shaded.com.google.common.base.Predicate)>(v, v);
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Lists: java.util.ArrayList newArrayList(java.lang.Iterable)>(v);
staticinvoke <java.util.Collections: void sort(java.util.List)>(v);
return v;
}
private boolean internalLeave(long, boolean, long) throws java.lang.Exception
{
java.lang.IllegalStateException v, v;
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier v;
oadd.org.apache.zookeeper.Watcher v, v;
byte v;
boolean v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.KeeperException$NoNodeException v, v;
oadd.org.apache.curator.framework.CuratorFramework v, v, v, v;
java.util.List v;
java.lang.Object[] v, v;
java.util.concurrent.atomic.AtomicBoolean v, v;
long v, v, v, v, v;
oadd.org.apache.curator.framework.api.GetChildrenBuilder v;
int v, v, v, v, v;
oadd.org.apache.zookeeper.KeeperException$ConnectionLossException v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.curator.framework.api.ExistsBuilder v, v;
java.lang.Object v, v, v, v, v, v, v, v;
oadd.org.apache.curator.framework.api.DeleteBuilder v;
v := @this: oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier;
v := @parameter: long;
v := @parameter: boolean;
v := @parameter: long;
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String ourPath>;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String getNodeFromPath(java.lang.String)>(v);
v = 1;
v = 1;
label:
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.util.concurrent.atomic.AtomicBoolean connectionLost>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new oadd.org.apache.zookeeper.KeeperException$ConnectionLossException;
specialinvoke v.<oadd.org.apache.zookeeper.KeeperException$ConnectionLossException: void <init>()>();
throw v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.GetChildrenBuilder getChildren()>();
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String barrierPath>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetChildrenBuilder: java.lang.Object forPath(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Lists: java.util.ArrayList newArrayList()>();
label:
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.util.List filterAndSortChildren(java.util.List)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: int indexOf(java.lang.Object)>(v);
if v >= 0 goto label;
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.util.concurrent.atomic.AtomicBoolean connectionLost>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Our path (%s) is missing", v);
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalStateException;
v = newarray (java.lang.Object)[2];
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Last path (%s) is not ours (%s)", v);
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
specialinvoke v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: void checkDeleteOurPath(boolean)>(v);
goto label;
label:
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String barrierPath>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, v);
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.ExistsBuilder checkExists()>();
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.zookeeper.Watcher watcher>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.ExistsBuilder: java.lang.Object usingWatcher(oadd.org.apache.zookeeper.Watcher)>(v);
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.BackgroundPathable: java.lang.Object forPath(java.lang.String)>(v);
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String barrierPath>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, v);
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.ExistsBuilder checkExists()>();
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.zookeeper.Watcher watcher>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.ExistsBuilder: java.lang.Object usingWatcher(oadd.org.apache.zookeeper.Watcher)>(v);
interfaceinvoke v.<oadd.org.apache.curator.framework.api.BackgroundPathable: java.lang.Object forPath(java.lang.String)>(v);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: void checkDeleteOurPath(boolean)>(v);
v = 0;
label:
if v == null goto label;
if v == 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = v - v;
v = v cmp 0L;
if v > 0 goto label;
v = 0;
goto label;
label:
virtualinvoke v.<java.lang.Object: void wait(long)>(v);
goto label;
label:
virtualinvoke v.<java.lang.Object: void wait()>();
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.DeleteBuilder delete()>();
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String readyPath>;
interfaceinvoke v.<oadd.org.apache.curator.framework.api.DeleteBuilder: java.lang.Object forPath(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
return v;
catch oadd.org.apache.zookeeper.KeeperException$NoNodeException from label to label with label;
catch oadd.org.apache.zookeeper.KeeperException$NoNodeException from label to label with label;
}
private void checkDeleteOurPath(boolean) throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier v;
java.lang.String v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.api.DeleteBuilder v;
boolean v;
v := @this: oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier;
v := @parameter: boolean;
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.DeleteBuilder delete()>();
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String ourPath>;
interfaceinvoke v.<oadd.org.apache.curator.framework.api.DeleteBuilder: java.lang.Object forPath(java.lang.String)>(v);
label:
return;
}
private synchronized boolean internalEnter(long, boolean, long) throws java.lang.Exception
{
java.util.concurrent.atomic.AtomicBoolean v, v;
long v, v, v, v, v;
oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier v;
byte v;
oadd.org.apache.curator.framework.api.CreateBuilder v;
int v, v;
java.lang.String v;
boolean v, v, v, v;
oadd.org.apache.zookeeper.KeeperException$NodeExistsException v;
oadd.org.apache.curator.framework.CuratorFramework v;
java.util.List v;
v := @this: oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier;
v := @parameter: long;
v := @parameter: boolean;
v := @parameter: long;
v = 1;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.util.List getChildrenForEntering()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
goto label;
label:
v = 0;
label:
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: int memberQty>;
if v < v goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.CreateBuilder create()>();
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.lang.String readyPath>;
interfaceinvoke v.<oadd.org.apache.curator.framework.api.CreateBuilder: java.lang.Object forPath(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.util.concurrent.atomic.AtomicBoolean hasBeenNotified>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = v - v;
v = v cmp 0L;
if v > 0 goto label;
v = 0;
goto label;
label:
virtualinvoke v.<java.lang.Object: void wait(long)>(v);
label:
v = v.<oadd.org.apache.curator.framework.recipes.barriers.DistributedDoubleBarrier: java.util.concurrent.atomic.AtomicBoolean hasBeenNotified>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = 0;
goto label;
label:
virtualinvoke v.<java.lang.Object: void wait()>();
label:
return v;
catch oadd.org.apache.zookeeper.KeeperException$NodeExistsException from label to label with label;
}
}