public class oadd.org.apache.curator.framework.recipes.locks.LockInternals extends java.lang.Object
{
private final oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client;
private final java.lang.String path;
private final java.lang.String basePath;
private final oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver driver;
private final java.lang.String lockName;
private final java.util.concurrent.atomic.AtomicReference revocable;
private final oadd.org.apache.curator.framework.api.CuratorWatcher revocableWatcher;
private final oadd.org.apache.zookeeper.Watcher watcher;
private volatile int maxLeases;
static final byte[] REVOKE_MESSAGE;
public void clean() throws java.lang.Exception
{
oadd.org.apache.zookeeper.KeeperException$BadVersionException v;
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
java.lang.String v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v;
oadd.org.apache.curator.framework.api.DeleteBuilder v;
oadd.org.apache.zookeeper.KeeperException$NotEmptyException v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.framework.api.DeleteBuilder delete()>();
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.lang.String basePath>;
interfaceinvoke v.<oadd.org.apache.curator.framework.api.DeleteBuilder: java.lang.Object forPath(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
label:
return;
catch oadd.org.apache.zookeeper.KeeperException$BadVersionException from label to label with label;
catch oadd.org.apache.zookeeper.KeeperException$NotEmptyException from label to label with label;
}
void <init>(oadd.org.apache.curator.framework.CuratorFramework, oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver, java.lang.String, java.lang.String, int)
{
oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver v;
oadd.org.apache.curator.framework.recipes.locks.LockInternals$2 v;
oadd.org.apache.curator.framework.recipes.locks.LockInternals$1 v;
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v;
java.util.concurrent.atomic.AtomicReference v;
int v;
java.lang.String v, v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(null);
v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.util.concurrent.atomic.AtomicReference revocable> = v;
v = new oadd.org.apache.curator.framework.recipes.locks.LockInternals$1;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals$1: void <init>(oadd.org.apache.curator.framework.recipes.locks.LockInternals)>(v);
v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.api.CuratorWatcher revocableWatcher> = v;
v = new oadd.org.apache.curator.framework.recipes.locks.LockInternals$2;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals$2: void <init>(oadd.org.apache.curator.framework.recipes.locks.LockInternals)>(v);
v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.zookeeper.Watcher watcher> = v;
v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver driver> = v;
v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.lang.String lockName> = v;
v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: int maxLeases> = v;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework newWatcherRemoveCuratorFramework()>();
v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: 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.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.lang.String basePath> = v;
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.locks.LockInternals: java.lang.String path> = v;
return;
}
synchronized void setMaxLeases(int)
{
int v;
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v := @parameter: int;
v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: int maxLeases> = v;
virtualinvoke v.<java.lang.Object: void notifyAll()>();
return;
}
void makeRevocable(oadd.org.apache.curator.framework.recipes.locks.RevocationSpec)
{
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
java.util.concurrent.atomic.AtomicReference v;
oadd.org.apache.curator.framework.recipes.locks.RevocationSpec v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v := @parameter: oadd.org.apache.curator.framework.recipes.locks.RevocationSpec;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.util.concurrent.atomic.AtomicReference revocable>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
return;
}
final void releaseLock(java.lang.String) throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
java.lang.String v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v := @parameter: java.lang.String;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: void removeWatchers()>();
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.util.concurrent.atomic.AtomicReference revocable>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(null);
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: void deleteOurPath(java.lang.String)>(v);
return;
}
oadd.org.apache.curator.framework.CuratorFramework getClient()
{
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
return v;
}
public static java.util.Collection getParticipantNodes(oadd.org.apache.curator.framework.CuratorFramework, java.lang.String, java.lang.String, oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter) throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.locks.LockInternals$3 v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList v;
java.lang.Iterable v;
java.util.List v;
oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter v;
java.lang.String v, v;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.util.List getSortedChildren(oadd.org.apache.curator.framework.CuratorFramework,java.lang.String,java.lang.String,oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter)>(v, v, v, v);
v = new oadd.org.apache.curator.framework.recipes.locks.LockInternals$3;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals$3: void <init>(java.lang.String)>(v);
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Iterables: java.lang.Iterable transform(java.lang.Iterable,oadd.org.apache.curator.shaded.com.google.common.base.Function)>(v, v);
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList: oadd.org.apache.curator.shaded.com.google.common.collect.ImmutableList copyOf(java.lang.Iterable)>(v);
return v;
}
public static java.util.List getSortedChildren(oadd.org.apache.curator.framework.CuratorFramework, java.lang.String, java.lang.String, oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter) throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.locks.LockInternals$4 v;
oadd.org.apache.zookeeper.KeeperException$NoNodeException v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.api.GetChildrenBuilder v;
java.util.ArrayList v;
java.util.List v;
oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter v;
java.lang.Object v;
java.lang.String v, v;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter;
label:
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.GetChildrenBuilder getChildren()>();
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetChildrenBuilder: java.lang.Object forPath(java.lang.String)>(v);
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Lists: java.util.ArrayList newArrayList(java.lang.Iterable)>(v);
v = new oadd.org.apache.curator.framework.recipes.locks.LockInternals$4;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals$4: void <init>(oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter,java.lang.String)>(v, v);
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
catch oadd.org.apache.zookeeper.KeeperException$NoNodeException from label to label with label;
}
public static java.util.List getSortedChildren(java.lang.String, oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter, java.util.List)
{
java.util.List v;
oadd.org.apache.curator.framework.recipes.locks.LockInternals$5 v;
oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter v;
java.lang.String v;
java.util.ArrayList v;
v := @parameter: java.lang.String;
v := @parameter: oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter;
v := @parameter: java.util.List;
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Lists: java.util.ArrayList newArrayList(java.lang.Iterable)>(v);
v = new oadd.org.apache.curator.framework.recipes.locks.LockInternals$5;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals$5: void <init>(oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter,java.lang.String)>(v, v);
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
return v;
}
java.util.List getSortedChildren() throws java.lang.Exception
{
java.util.List v;
oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver v;
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
java.lang.String v, v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.lang.String basePath>;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.lang.String lockName>;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver driver>;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.util.List getSortedChildren(oadd.org.apache.curator.framework.CuratorFramework,java.lang.String,java.lang.String,oadd.org.apache.curator.framework.recipes.locks.LockInternalsSorter)>(v, v, v, v);
return v;
}
java.lang.String getLockName()
{
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
java.lang.String v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.lang.String lockName>;
return v;
}
oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver getDriver()
{
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver driver>;
return v;
}
java.lang.String attemptLock(long, java.util.concurrent.TimeUnit, byte[]) throws java.lang.Exception
{
byte[] v, v, v;
long v, v, v, v, v;
oadd.org.apache.curator.CuratorZookeeperClient v;
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
java.util.concurrent.atomic.AtomicReference v;
java.lang.Long v, v;
int v, v;
oadd.org.apache.curator.RetryPolicy v;
java.lang.String v, v;
boolean v, v, v;
oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver v;
oadd.org.apache.zookeeper.KeeperException$NoNodeException v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v, v;
java.util.concurrent.TimeUnit v;
oadd.org.apache.curator.RetrySleeper v;
java.lang.Object v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: byte[];
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
if v == null goto label;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toMillis(long)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
goto label;
label:
v = null;
label:
v = v;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.util.concurrent.atomic.AtomicReference revocable>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = newarray (byte)[0];
goto label;
label:
v = v;
label:
v = v;
v = 0;
v = null;
v = 0;
v = 0;
label:
if v != 0 goto label;
v = 1;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver driver>;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.lang.String path>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver: java.lang.String createsTheLock(oadd.org.apache.curator.framework.CuratorFramework,java.lang.String,byte[])>(v, v, v);
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: boolean internalLockLoop(long,java.lang.Long,java.lang.String)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: 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 = 0;
goto label;
label:
throw v;
label:
if v == 0 goto label;
return v;
label:
return null;
catch oadd.org.apache.zookeeper.KeeperException$NoNodeException from label to label with label;
}
private void checkRevocableWatcher(java.lang.String) throws java.lang.Exception
{
byte[] v;
java.util.concurrent.Executor v;
oadd.org.apache.curator.framework.api.GetDataBuilder v;
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
oadd.org.apache.zookeeper.KeeperException$NoNodeException v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v;
java.lang.Runnable v;
java.util.concurrent.atomic.AtomicReference v;
java.lang.Object v, v, v;
java.lang.String v;
boolean v;
oadd.org.apache.curator.framework.api.CuratorWatcher v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v := @parameter: java.lang.String;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.util.concurrent.atomic.AtomicReference revocable>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.framework.api.GetDataBuilder getData()>();
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.api.CuratorWatcher revocableWatcher>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetDataBuilder: java.lang.Object usingWatcher(oadd.org.apache.curator.framework.api.CuratorWatcher)>(v);
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.BackgroundPathable: java.lang.Object forPath(java.lang.String)>(v);
v = <oadd.org.apache.curator.framework.recipes.locks.LockInternals: byte[] REVOKE_MESSAGE>;
v = staticinvoke <java.util.Arrays: boolean equals(byte[],byte[])>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.RevocationSpec: java.util.concurrent.Executor getExecutor()>();
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.RevocationSpec: java.lang.Runnable getRunnable()>();
interfaceinvoke v.<java.util.concurrent.Executor: void execute(java.lang.Runnable)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch oadd.org.apache.zookeeper.KeeperException$NoNodeException from label to label with label;
}
private boolean internalLockLoop(long, java.lang.Long, java.lang.String) throws java.lang.Exception
{
oadd.org.apache.curator.framework.api.GetDataBuilder v, v;
oadd.org.apache.zookeeper.Watcher v;
byte v;
java.lang.Long v;
boolean v, v, v;
oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver v;
oadd.org.apache.zookeeper.KeeperException$NoNodeException v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v, v, v, v;
java.lang.Exception v;
oadd.org.apache.curator.framework.recipes.locks.PredicateResults v;
java.util.List v;
oadd.org.apache.curator.framework.imps.CuratorFrameworkState v, v;
oadd.org.apache.curator.framework.api.CuratorWatcher v;
java.lang.Throwable v, v;
long v, v, v, v, v, v, v;
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
java.util.concurrent.atomic.AtomicReference v;
int v, v, v;
java.lang.String v, v, v, v, v, v;
java.lang.Object v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v := @parameter: long;
v := @parameter: java.lang.Long;
v := @parameter: java.lang.String;
v = 0;
v = 0;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.util.concurrent.atomic.AtomicReference revocable>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.framework.api.GetDataBuilder getData()>();
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.api.CuratorWatcher revocableWatcher>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetDataBuilder: java.lang.Object usingWatcher(oadd.org.apache.curator.framework.api.CuratorWatcher)>(v);
interfaceinvoke v.<oadd.org.apache.curator.framework.api.BackgroundPathable: java.lang.Object forPath(java.lang.String)>(v);
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: 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;
if v != 0 goto label;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.util.List getSortedChildren()>();
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.lang.String basePath>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver driver>;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: int maxLeases>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternalsDriver: oadd.org.apache.curator.framework.recipes.locks.PredicateResults getsTheLock(oadd.org.apache.curator.framework.CuratorFramework,java.util.List,java.lang.String,int)>(v, v, v, v);
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.PredicateResults: boolean getsTheLock()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: java.lang.String basePath>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.locks.PredicateResults: java.lang.String getPathToWatch()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("\u0001/\u0001");
entermonitor v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.framework.api.GetDataBuilder getData()>();
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.zookeeper.Watcher watcher>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetDataBuilder: 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);
if v == null goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = v - v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp 0L;
if v > 0 goto label;
v = 1;
label:
exitmonitor v;
label:
goto label;
label:
v = virtualinvoke v.<java.lang.Long: long longValue()>();
virtualinvoke v.<java.lang.Object: void wait(long)>(v);
goto label;
label:
virtualinvoke v.<java.lang.Object: void wait()>();
label:
goto label;
label:
v := @caughtexception;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == 0 goto label;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: void deleteOurPath(java.lang.String)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.org.apache.curator.utils.ThreadUtils: boolean checkInterrupted(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
if v == 0 goto label;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: void deleteOurPath(java.lang.String)>(v);
label:
throw v;
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;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void deleteOurPath(java.lang.String) throws java.lang.Exception
{
java.lang.Object v;
oadd.org.apache.curator.framework.recipes.locks.LockInternals v;
oadd.org.apache.zookeeper.KeeperException$NoNodeException v;
java.lang.String v;
oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework v;
oadd.org.apache.curator.framework.api.DeleteBuilder v;
v := @this: oadd.org.apache.curator.framework.recipes.locks.LockInternals;
v := @parameter: java.lang.String;
label:
v = v.<oadd.org.apache.curator.framework.recipes.locks.LockInternals: oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.WatcherRemoveCuratorFramework: oadd.org.apache.curator.framework.api.DeleteBuilder delete()>();
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.DeleteBuilder: java.lang.Object guaranteed()>();
interfaceinvoke v.<oadd.org.apache.curator.framework.api.ChildrenDeletable: java.lang.Object forPath(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch oadd.org.apache.zookeeper.KeeperException$NoNodeException from label to label with label;
}
static void <clinit>()
{
byte[] v;
java.lang.String v;
v = "__REVOKE__";
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
<oadd.org.apache.curator.framework.recipes.locks.LockInternals: byte[] REVOKE_MESSAGE> = v;
return;
}
}