public class oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 extends java.lang.Object
{
private final org.slf4j.Logger log;
private final oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex lock;
private final oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client;
private final java.lang.String leasesPath;
private final oadd.org.apache.zookeeper.Watcher watcher;
private volatile byte[] nodeData;
private volatile int maxLeases;
private static final java.lang.String LOCK_PARENT;
private static final java.lang.String LEASE_PARENT;
private static final java.lang.String LEASE_BASE_NAME;
public static final java.util.Set LOCK_SCHEMA;
static volatile java.util.concurrent.CountDownLatch debugAcquireLatch;
static volatile java.util.concurrent.CountDownLatch debugFailedGetChildrenLatch;
volatile java.util.concurrent.CountDownLatch debugWaitLatch;
public void <init>(oadd.org.apache.curator.framework.CuratorFramework, java.lang.String, int)
{
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
int v;
java.lang.String v;
oadd.org.apache.curator.framework.CuratorFramework v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: java.lang.String;
v := @parameter: int;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: void <init>(oadd.org.apache.curator.framework.CuratorFramework,java.lang.String,int,oadd.org.apache.curator.framework.recipes.shared.SharedCountReader)>(v, v, v, null);
return;
}
public void <init>(oadd.org.apache.curator.framework.CuratorFramework, java.lang.String, oadd.org.apache.curator.framework.recipes.shared.SharedCountReader)
{
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
java.lang.String v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.recipes.shared.SharedCountReader v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: java.lang.String;
v := @parameter: oadd.org.apache.curator.framework.recipes.shared.SharedCountReader;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: void <init>(oadd.org.apache.curator.framework.CuratorFramework,java.lang.String,int,oadd.org.apache.curator.framework.recipes.shared.SharedCountReader)>(v, v, 0, v);
return;
}
private void <init>(oadd.org.apache.curator.framework.CuratorFramework, java.lang.String, int, oadd.org.apache.curator.framework.recipes.shared.SharedCountReader)
{
org.slf4j.Logger v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$2 v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$1 v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex v;
int v, v;
java.lang.Class v;
java.lang.String v, v, v, v;
oadd.org.apache.curator.framework.recipes.shared.SharedCountReader v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: oadd.org.apache.curator.framework.recipes.shared.SharedCountReader;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(v);
v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: org.slf4j.Logger log> = v;
v = new oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$1;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$1: void <init>(oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2)>(v);
v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.zookeeper.Watcher watcher> = v;
v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.concurrent.CountDownLatch debugWaitLatch> = null;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework newWatcherRemoveCuratorFramework()>();
v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client> = v;
v = staticinvoke <oadd.org.apache.curator.utils.PathUtils: java.lang.String validatePath(java.lang.String)>(v);
v = new oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, "locks");
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex: void <init>(oadd.org.apache.curator.framework.CuratorFramework,java.lang.String)>(v, v);
v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex lock> = v;
if v == null goto label;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.recipes.shared.SharedCountReader: int getCount()>();
goto label;
label:
v = v;
label:
v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: int maxLeases> = v;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, "leases");
v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.lang.String leasesPath> = v;
if v == null goto label;
v = new oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$2;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$2: void <init>(oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2,oadd.org.apache.curator.framework.CuratorFramework)>(v, v);
interfaceinvoke v.<oadd.org.apache.curator.framework.recipes.shared.SharedCountReader: void addListener(java.lang.Object)>(v);
label:
return;
}
public void setNodeData(byte[])
{
byte[] v, v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
int v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: byte[];
if v == null goto label;
v = lengthof v;
v = staticinvoke <java.util.Arrays: byte[] copyOf(byte[],int)>(v, v);
goto label;
label:
v = null;
label:
v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: byte[] nodeData> = v;
return;
}
public java.util.Collection getParticipantNodes() throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
java.lang.Object v;
java.lang.String v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v;
oadd.org.apache.curator.framework.api.GetChildrenBuilder v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.framework.api.GetChildrenBuilder getChildren()>();
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.lang.String leasesPath>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetChildrenBuilder: java.lang.Object forPath(java.lang.String)>(v);
return v;
}
public void returnAll(java.util.Collection)
{
java.util.Iterator v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
java.util.Collection v;
java.lang.Object v;
boolean v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: java.util.Collection;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
staticinvoke <oadd.org.apache.curator.utils.CloseableUtils: void closeQuietly(java.io.Closeable)>(v);
goto label;
label:
return;
}
public void returnLease(oadd.org.apache.curator.framework.recipes.locks.Lease)
{
oadd.org.apache.curator.framework.recipes.locks.Lease v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: oadd.org.apache.curator.framework.recipes.locks.Lease;
staticinvoke <oadd.org.apache.curator.utils.CloseableUtils: void closeQuietly(java.io.Closeable)>(v);
return;
}
public oadd.org.apache.curator.framework.recipes.locks.Lease acquire() throws java.lang.Exception
{
java.util.Iterator v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
java.util.Collection v;
java.lang.Object v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.Collection acquire(int,long,java.util.concurrent.TimeUnit)>(1, 0L, null);
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
return v;
}
public java.util.Collection acquire(int) throws java.lang.Exception
{
int v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
java.util.Collection v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: int;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.Collection acquire(int,long,java.util.concurrent.TimeUnit)>(v, 0L, null);
return v;
}
public oadd.org.apache.curator.framework.recipes.locks.Lease acquire(long, java.util.concurrent.TimeUnit) throws java.lang.Exception
{
java.util.concurrent.TimeUnit v;
java.util.Iterator v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
java.util.Collection v;
java.lang.Object v;
long v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.Collection acquire(int,long,java.util.concurrent.TimeUnit)>(1, v, v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
goto label;
label:
v = null;
label:
return v;
}
public java.util.Collection acquire(int, long, java.util.concurrent.TimeUnit) throws java.lang.Exception
{
oadd.org.apache.curator.CuratorZookeeperClient v;
oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList v, v, v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
int[] v;
boolean v, v, v, v, v;
oadd.org.apache.zookeeper.KeeperException$NoNodeException v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v;
oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList$Builder v;
oadd.org.apache.curator.RetrySleeper v;
java.lang.Throwable v;
long v, v, v, v, v, v, v;
int v, v, v, v, v, v;
oadd.org.apache.curator.RetryPolicy v;
java.util.concurrent.TimeUnit v, v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: int;
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 = 0L;
label:
v = 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 checkArgument(boolean,java.lang.Object)>(v, "qty cannot be 0");
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList$Builder builder()>();
label:
v = v;
v = v - 1;
if v <= 0 goto label;
v = 0;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = 0;
label:
if v != 0 goto label;
v = <oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$4: int[] $SwitchMap$org$apache$curator$framework$recipes$locks$InterProcessSemaphoreV2$InternalAcquireResult>;
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult internalAcquire1Lease(oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList$Builder,long,boolean,long)>(v, v, v, v);
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = 1;
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList$Builder: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList build()>();
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: void returnAll(java.util.Collection)>(v);
return null;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.CuratorZookeeperClient getZookeeperClient()>();
v = virtualinvoke v.<oadd.org.apache.curator.CuratorZookeeperClient: oadd.org.apache.curator.RetryPolicy getRetryPolicy()>();
v = v;
v = v + 1;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = staticinvoke <oadd.org.apache.curator.RetryLoop: oadd.org.apache.curator.RetrySleeper getDefaultRetrySleeper()>();
v = interfaceinvoke v.<oadd.org.apache.curator.RetryPolicy: boolean allowRetry(int,long,oadd.org.apache.curator.RetrySleeper)>(v, v, v);
if v != 0 goto label;
v = new oadd.org.apache.zookeeper.KeeperException$NoNodeException;
specialinvoke v.<oadd.org.apache.zookeeper.KeeperException$NoNodeException: void <init>(java.lang.String)>("Sequential path not found - possible session loss");
throw v;
label:
v := @caughtexception;
v = virtualinvoke v.<oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList$Builder: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList build()>();
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: void returnAll(java.util.Collection)>(v);
throw v;
label:
v = virtualinvoke v.<oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList$Builder: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList build()>();
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult internalAcquire1Lease(oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList$Builder, long, boolean, long) throws java.lang.Exception
{
byte[] v, v;
oadd.org.apache.zookeeper.CreateMode v;
oadd.org.apache.curator.framework.recipes.locks.Lease v;
oadd.org.apache.zookeeper.Watcher v;
byte v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
oadd.org.apache.curator.framework.api.CreateBuilder v;
java.lang.Exception v;
java.util.concurrent.CountDownLatch v, v, v, v, v, v, v, v;
java.lang.Throwable v, v, v;
oadd.org.apache.curator.framework.api.ACLCreateModeBackgroundPathAndBytesable v;
long v, v, v, v;
oadd.org.apache.curator.framework.api.GetChildrenBuilder v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v, v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v, v, v, v, v, v, v;
oadd.org.apache.curator.framework.imps.CuratorFrameworkState v, v;
oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList$Builder v;
int v, v;
org.slf4j.Logger v;
oadd.org.apache.curator.framework.api.ProtectACLCreateModeStatPathAndBytesable v;
java.util.concurrent.TimeUnit v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex v, v, v, v, v, v;
java.lang.Object v, v, v, v, v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult v, v, v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList$Builder;
v := @parameter: long;
v := @parameter: boolean;
v := @parameter: long;
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.framework.imps.CuratorFrameworkState getState()>();
v = <oadd.org.apache.curator.framework.imps.CuratorFrameworkState: oadd.org.apache.curator.framework.imps.CuratorFrameworkState STARTED>;
if v == v goto label;
v = <oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult RETURN_NULL>;
return v;
label:
if v == 0 goto label;
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: long getThisWaitMs(long,long)>(v, v);
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex lock>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex: boolean acquire(long,java.util.concurrent.TimeUnit)>(v, v);
if v != 0 goto label;
v = <oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult RETURN_NULL>;
return v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex lock>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex: void acquire()>();
label:
v = 0;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: 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 = interfaceinvoke v.<oadd.org.apache.curator.framework.api.ProtectACLCreateModeStatPathAndBytesable: oadd.org.apache.curator.framework.api.ACLCreateModeBackgroundPathAndBytesable withProtection()>();
v = <oadd.org.apache.zookeeper.CreateMode: oadd.org.apache.zookeeper.CreateMode EPHEMERAL_SEQUENTIAL>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.ACLCreateModeBackgroundPathAndBytesable: java.lang.Object withMode(oadd.org.apache.zookeeper.CreateMode)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: byte[] nodeData>;
if v == null goto label;
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.lang.String leasesPath>;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, "lease-");
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: byte[] nodeData>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.PathAndBytesable: java.lang.Object forPath(java.lang.String,byte[])>(v, v);
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.lang.String leasesPath>;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, "lease-");
interfaceinvoke v.<oadd.org.apache.curator.framework.api.PathAndBytesable: java.lang.Object forPath(java.lang.String)>(v);
label:
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String getNodeFromPath(java.lang.String)>(v);
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.recipes.locks.Lease makeLease(java.lang.String)>(v);
v = <oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.concurrent.CountDownLatch debugAcquireLatch>;
if v == null goto label;
v = <oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.concurrent.CountDownLatch debugAcquireLatch>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void await()>();
label:
entermonitor v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.framework.api.GetChildrenBuilder getChildren()>();
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.zookeeper.Watcher watcher>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetChildrenBuilder: java.lang.Object usingWatcher(oadd.org.apache.zookeeper.Watcher)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.lang.String leasesPath>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.BackgroundPathable: java.lang.Object forPath(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.concurrent.CountDownLatch debugFailedGetChildrenLatch>;
if v == null goto label;
v = <oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.concurrent.CountDownLatch debugFailedGetChildrenLatch>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
label:
throw v;
label:
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: org.slf4j.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Sequential path not found: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
v = <oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult RETRY_DUE_TO_MISSING_NODE>;
exitmonitor v;
label:
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: void returnLease(oadd.org.apache.curator.framework.recipes.locks.Lease)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: void removeWatchers()>();
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex lock>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex: void release()>();
return v;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: int maxLeases>;
if v <= v goto label;
if v == 0 goto label;
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: long getThisWaitMs(long,long)>(v, v);
v = v cmp 0L;
if v > 0 goto label;
v = <oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult RETURN_NULL>;
exitmonitor v;
label:
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: void returnLease(oadd.org.apache.curator.framework.recipes.locks.Lease)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: void removeWatchers()>();
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex lock>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex: void release()>();
return v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.concurrent.CountDownLatch debugWaitLatch>;
if v == null goto label;
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.concurrent.CountDownLatch debugWaitLatch>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
label:
virtualinvoke v.<java.lang.Object: void wait(long)>(v);
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.concurrent.CountDownLatch debugWaitLatch>;
if v == null goto label;
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.concurrent.CountDownLatch debugWaitLatch>;
virtualinvoke v.<java.util.concurrent.CountDownLatch: void countDown()>();
label:
virtualinvoke v.<java.lang.Object: void wait()>();
goto label;
label:
v = 1;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: void removeWatchers()>();
goto label;
label:
v := @caughtexception;
if v != 0 goto label;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: void returnLease(oadd.org.apache.curator.framework.recipes.locks.Lease)>(v);
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: void removeWatchers()>();
throw v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex lock>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex: void release()>();
goto label;
label:
v := @caughtexception;
v = v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex lock>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessMutex: void release()>();
throw v;
label:
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
virtualinvoke v.<oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList$Builder: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList$Builder add(java.lang.Object)>(v);
v = <oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$InternalAcquireResult CONTINUE>;
return v;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private long getThisWaitMs(long, long)
{
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
long v, v, v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: long;
v := @parameter: long;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = v - v;
return v;
}
private oadd.org.apache.curator.framework.recipes.locks.Lease makeLease(java.lang.String)
{
java.lang.String v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2 v;
oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$3 v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2;
v := @parameter: java.lang.String;
v = new oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$3;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2$3: void <init>(oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2,java.lang.String)>(v, v);
return v;
}
static void <clinit>()
{
java.util.HashSet v;
java.lang.String[] v;
v = newarray (java.lang.String)[2];
v[0] = "locks";
v[1] = "leases";
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Sets: java.util.HashSet newHashSet(java.lang.Object[])>(v);
<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.Set LOCK_SCHEMA> = v;
<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.concurrent.CountDownLatch debugAcquireLatch> = null;
<oadd.org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2: java.util.concurrent.CountDownLatch debugFailedGetChildrenLatch> = null;
return;
}
}