public class oadd.org.apache.curator.framework.recipes.queue.DistributedQueue extends java.lang.Object implements oadd.org.apache.curator.framework.recipes.queue.QueueBase
{
private final org.slf4j.Logger log;
private final oadd.org.apache.curator.framework.CuratorFramework client;
private final oadd.org.apache.curator.framework.recipes.queue.QueueSerializer serializer;
private final java.lang.String queuePath;
private final java.util.concurrent.Executor executor;
private final java.util.concurrent.ExecutorService service;
private final java.util.concurrent.atomic.AtomicReference state;
private final oadd.org.apache.curator.framework.recipes.queue.QueueConsumer consumer;
private final int minItemsBeforeRefresh;
private final boolean refreshOnWatch;
private final boolean isProducerOnly;
private final java.lang.String lockPath;
private final java.util.concurrent.atomic.AtomicReference errorMode;
private final oadd.org.apache.curator.framework.listen.StandardListenerManager putListenerContainer;
private final java.util.concurrent.atomic.AtomicInteger lastChildCount;
private final int maxItems;
private final int finalFlushMs;
private final boolean putInBackground;
private final oadd.org.apache.curator.framework.recipes.queue.ChildrenCache childrenCache;
private final java.util.concurrent.atomic.AtomicInteger putCount;
private static final java.lang.String QUEUE_ITEM_NAME;
void <init>(oadd.org.apache.curator.framework.CuratorFramework, oadd.org.apache.curator.framework.recipes.queue.QueueConsumer, oadd.org.apache.curator.framework.recipes.queue.QueueSerializer, java.lang.String, java.util.concurrent.ThreadFactory, java.util.concurrent.Executor, int, boolean, java.lang.String, int, boolean, int)
{
oadd.org.apache.curator.framework.listen.StandardListenerManager v;
java.util.concurrent.atomic.AtomicReference v, v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
oadd.org.apache.curator.framework.recipes.queue.QueueSerializer v;
java.util.concurrent.atomic.AtomicInteger v, v;
int v, v, v;
java.lang.String v, v, v, v;
java.util.concurrent.ThreadFactory v;
java.util.concurrent.ExecutorService v;
boolean v, v, v, v;
oadd.org.apache.curator.framework.recipes.queue.ChildrenCache v;
org.slf4j.Logger v, v;
java.util.concurrent.Executor v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.recipes.queue.QueueConsumer v;
oadd.org.apache.curator.framework.recipes.queue.ErrorMode v;
java.lang.Class v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: oadd.org.apache.curator.framework.CuratorFramework;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.QueueConsumer;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.QueueSerializer;
v := @parameter: java.lang.String;
v := @parameter: java.util.concurrent.ThreadFactory;
v := @parameter: java.util.concurrent.Executor;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: boolean;
v := @parameter: int;
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.queue.DistributedQueue: org.slf4j.Logger log> = v;
v = new java.util.concurrent.atomic.AtomicReference;
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State LATENT>;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(v);
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicReference state> = v;
v = new java.util.concurrent.atomic.AtomicReference;
v = <oadd.org.apache.curator.framework.recipes.queue.ErrorMode: oadd.org.apache.curator.framework.recipes.queue.ErrorMode REQUEUE>;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(v);
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicReference errorMode> = v;
v = staticinvoke <oadd.org.apache.curator.framework.listen.StandardListenerManager: oadd.org.apache.curator.framework.listen.StandardListenerManager standard()>();
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.listen.StandardListenerManager putListenerContainer> = v;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>(int)>(0);
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicInteger lastChildCount> = v;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>(int)>(0);
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicInteger putCount> = v;
staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object,java.lang.Object)>(v, "client cannot be null");
staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object,java.lang.Object)>(v, "serializer cannot be null");
staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object,java.lang.Object)>(v, "threadFactory cannot be null");
staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object,java.lang.Object)>(v, "executor cannot be null");
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, "maxItems must be a positive number");
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean isProducerOnly> = v;
if v != null goto label;
v = null;
goto label;
label:
v = staticinvoke <oadd.org.apache.curator.utils.PathUtils: java.lang.String validatePath(java.lang.String)>(v);
label:
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String lockPath> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean putInBackground> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.QueueConsumer consumer> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: int minItemsBeforeRefresh> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean refreshOnWatch> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.CuratorFramework client> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.QueueSerializer serializer> = v;
v = staticinvoke <oadd.org.apache.curator.utils.PathUtils: java.lang.String validatePath(java.lang.String)>(v);
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String queuePath> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.Executor executor> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: int maxItems> = v;
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: int finalFlushMs> = v;
v = staticinvoke <java.util.concurrent.Executors: java.util.concurrent.ExecutorService newFixedThreadPool(int,java.util.concurrent.ThreadFactory)>(2, v);
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.ExecutorService service> = v;
v = new oadd.org.apache.curator.framework.recipes.queue.ChildrenCache;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache: void <init>(oadd.org.apache.curator.framework.CuratorFramework,java.lang.String)>(v, v);
v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache childrenCache> = v;
if v == 2147483647 goto label;
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("Bounded queues should set putInBackground(false) in the builder. Putting in the background will result in spotty maxItem consistency.");
label:
return;
}
public void start() throws java.lang.Exception
{
java.lang.IllegalStateException v;
java.util.concurrent.atomic.AtomicReference v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State v, v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
oadd.org.apache.curator.framework.api.CreateBuilder v, v;
int v;
java.lang.String v, v, v;
java.util.concurrent.ExecutorService v;
boolean v, v, v;
oadd.org.apache.curator.framework.recipes.queue.ChildrenCache v;
oadd.org.apache.zookeeper.KeeperException$NodeExistsException v, v;
oadd.org.apache.curator.framework.CuratorFramework v, v;
oadd.org.apache.curator.framework.api.ProtectACLCreateModeStatPathAndBytesable v, v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$1 v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicReference state>;
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State LATENT>;
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State STARTED>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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 = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String queuePath>;
interfaceinvoke v.<oadd.org.apache.curator.framework.api.ProtectACLCreateModeStatPathAndBytesable: java.lang.Object forPath(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String lockPath>;
if v == null goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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 = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String lockPath>;
interfaceinvoke v.<oadd.org.apache.curator.framework.api.ProtectACLCreateModeStatPathAndBytesable: java.lang.Object forPath(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean isProducerOnly>;
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: int maxItems>;
if v == 2147483647 goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache childrenCache>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache: void start()>();
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean isProducerOnly>;
if v != 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.ExecutorService service>;
v = new oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$1;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$1: void <init>(oadd.org.apache.curator.framework.recipes.queue.DistributedQueue)>(v);
interfaceinvoke v.<java.util.concurrent.ExecutorService: java.util.concurrent.Future submit(java.util.concurrent.Callable)>(v);
label:
return;
catch oadd.org.apache.zookeeper.KeeperException$NodeExistsException from label to label with label;
catch oadd.org.apache.zookeeper.KeeperException$NodeExistsException from label to label with label;
}
public void close() throws java.io.IOException
{
oadd.org.apache.curator.framework.listen.StandardListenerManager v;
java.util.concurrent.atomic.AtomicReference v;
java.util.concurrent.TimeUnit v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State v, v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
java.lang.InterruptedException v;
java.lang.Thread v;
int v, v;
java.util.concurrent.ExecutorService v;
boolean v;
oadd.org.apache.curator.framework.recipes.queue.ChildrenCache v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicReference state>;
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State STARTED>;
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State STOPPED>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: int finalFlushMs>;
if v <= 0 goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: int finalFlushMs>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean flushPuts(long,java.util.concurrent.TimeUnit)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache childrenCache>;
staticinvoke <oadd.org.apache.curator.utils.CloseableUtils: void closeQuietly(java.io.Closeable)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.listen.StandardListenerManager putListenerContainer>;
virtualinvoke v.<oadd.org.apache.curator.framework.listen.StandardListenerManager: void clear()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.ExecutorService service>;
interfaceinvoke v.<java.util.concurrent.ExecutorService: java.util.List shutdownNow()>();
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
public oadd.org.apache.curator.framework.listen.Listenable getPutListenerContainer()
{
oadd.org.apache.curator.framework.listen.StandardListenerManager v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.listen.StandardListenerManager putListenerContainer>;
return v;
}
public void setErrorMode(oadd.org.apache.curator.framework.recipes.queue.ErrorMode)
{
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
org.slf4j.Logger v;
oadd.org.apache.curator.framework.recipes.queue.ErrorMode v, v;
java.lang.String v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.ErrorMode;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String lockPath>;
staticinvoke <oadd.org.apache.curator.shaded.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object,java.lang.Object)>(v, "lockPath cannot be null");
v = <oadd.org.apache.curator.framework.recipes.queue.ErrorMode: oadd.org.apache.curator.framework.recipes.queue.ErrorMode REQUEUE>;
if v != v goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("ErrorMode.REQUEUE requires ZooKeeper version 3.4.x+ - make sure you are not using a prior version");
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicReference errorMode>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
return;
}
public boolean flushPuts(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException
{
java.lang.Throwable v;
long v, v, v, v, v;
java.util.concurrent.TimeUnit v, v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
byte v;
java.util.concurrent.atomic.AtomicInteger v, v, v;
int v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
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);
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicInteger putCount>;
entermonitor v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicInteger putCount>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
if v <= 0 goto label;
v = v cmp 0L;
if v > 0 goto label;
exitmonitor v;
label:
return 0;
label:
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicInteger putCount>;
virtualinvoke v.<java.lang.Object: void wait(long)>(v);
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = v - v;
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return 1;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void put(java.lang.Object) throws java.lang.Exception
{
java.lang.Object v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.Object;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean put(java.lang.Object,int,java.util.concurrent.TimeUnit)>(v, 0, null);
return;
}
public boolean put(java.lang.Object, int, java.util.concurrent.TimeUnit) throws java.lang.Exception
{
java.util.concurrent.TimeUnit v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
int v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.Object;
v := @parameter: int;
v := @parameter: java.util.concurrent.TimeUnit;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: void checkState()>();
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String makeItemPath()>();
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean internalPut(java.lang.Object,oadd.org.apache.curator.framework.recipes.queue.MultiItem,java.lang.String,int,java.util.concurrent.TimeUnit)>(v, null, v, v, v);
return v;
}
public void putMulti(oadd.org.apache.curator.framework.recipes.queue.MultiItem) throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
oadd.org.apache.curator.framework.recipes.queue.MultiItem v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.MultiItem;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean putMulti(oadd.org.apache.curator.framework.recipes.queue.MultiItem,int,java.util.concurrent.TimeUnit)>(v, 0, null);
return;
}
public boolean putMulti(oadd.org.apache.curator.framework.recipes.queue.MultiItem, int, java.util.concurrent.TimeUnit) throws java.lang.Exception
{
java.util.concurrent.TimeUnit v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
int v;
java.lang.String v;
oadd.org.apache.curator.framework.recipes.queue.MultiItem v;
boolean v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.MultiItem;
v := @parameter: int;
v := @parameter: java.util.concurrent.TimeUnit;
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: void checkState()>();
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String makeItemPath()>();
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean internalPut(java.lang.Object,oadd.org.apache.curator.framework.recipes.queue.MultiItem,java.lang.String,int,java.util.concurrent.TimeUnit)>(null, v, v, v, v);
return v;
}
public int getLastMessageCount()
{
int v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
java.util.concurrent.atomic.AtomicInteger v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicInteger lastChildCount>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
return v;
}
boolean internalPut(java.lang.Object, oadd.org.apache.curator.framework.recipes.queue.MultiItem, java.lang.String, int, java.util.concurrent.TimeUnit) throws java.lang.Exception
{
byte[] v;
java.util.concurrent.atomic.AtomicReference v;
java.util.concurrent.TimeUnit v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
oadd.org.apache.curator.framework.recipes.queue.QueueSerializer v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$2 v;
java.util.concurrent.atomic.AtomicInteger v;
int v;
java.lang.Object v;
java.lang.String v;
oadd.org.apache.curator.framework.recipes.queue.MultiItem v, v;
boolean v, v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.Object;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.MultiItem;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: java.util.concurrent.TimeUnit;
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean blockIfMaxed(int,java.util.concurrent.TimeUnit)>(v, v);
if v != 0 goto label;
return 0;
label:
v = v;
if v == null goto label;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(v);
v = new oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$2;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$2: void <init>(oadd.org.apache.curator.framework.recipes.queue.DistributedQueue,java.util.concurrent.atomic.AtomicReference)>(v, v);
v = v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicInteger putCount>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int incrementAndGet()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.QueueSerializer serializer>;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.queue.ItemSerializer: byte[] serialize(oadd.org.apache.curator.framework.recipes.queue.MultiItem,oadd.org.apache.curator.framework.recipes.queue.QueueSerializer)>(v, v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean putInBackground>;
if v == 0 goto label;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: void doPutInBackground(java.lang.Object,java.lang.String,oadd.org.apache.curator.framework.recipes.queue.MultiItem,byte[])>(v, v, v, v);
goto label;
label:
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: void doPutInForeground(java.lang.Object,java.lang.String,oadd.org.apache.curator.framework.recipes.queue.MultiItem,byte[])>(v, v, v, v);
label:
return 1;
}
private void doPutInForeground(java.lang.Object, java.lang.String, oadd.org.apache.curator.framework.recipes.queue.MultiItem, byte[]) throws java.lang.Exception
{
java.lang.Throwable v;
byte[] v;
oadd.org.apache.zookeeper.CreateMode v;
oadd.org.apache.curator.framework.listen.StandardListenerManager v;
oadd.org.apache.curator.framework.CuratorFramework v;
java.util.function.Consumer v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
java.util.concurrent.atomic.AtomicInteger v, v, v;
oadd.org.apache.curator.framework.api.CreateBuilder v;
java.lang.Object v, v;
java.lang.String v;
oadd.org.apache.curator.framework.recipes.queue.MultiItem v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.MultiItem;
v := @parameter: byte[];
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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 = <oadd.org.apache.zookeeper.CreateMode: oadd.org.apache.zookeeper.CreateMode PERSISTENT_SEQUENTIAL>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.CreateBuilder: java.lang.Object withMode(oadd.org.apache.zookeeper.CreateMode)>(v);
interfaceinvoke v.<oadd.org.apache.curator.framework.api.ACLBackgroundPathAndBytesable: java.lang.Object forPath(java.lang.String,byte[])>(v, v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicInteger putCount>;
entermonitor v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicInteger putCount>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int decrementAndGet()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicInteger putCount>;
virtualinvoke v.<java.lang.Object: void notifyAll()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.listen.StandardListenerManager putListenerContainer>;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$lambda_doPutInForeground_0__1038: java.util.function.Consumer bootstrap$(java.lang.Object,oadd.org.apache.curator.framework.recipes.queue.MultiItem)>(v, v);
virtualinvoke v.<oadd.org.apache.curator.framework.listen.StandardListenerManager: void forEach(java.util.function.Consumer)>(v);
return;
catch java.lang.Throwable from label to label with label;
}
private void doPutInBackground(java.lang.Object, java.lang.String, oadd.org.apache.curator.framework.recipes.queue.MultiItem, byte[]) throws java.lang.Exception
{
byte[] v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$3 v;
java.lang.Object v;
java.lang.String v;
oadd.org.apache.curator.framework.recipes.queue.MultiItem v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.MultiItem;
v := @parameter: byte[];
v = new oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$3;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$3: void <init>(oadd.org.apache.curator.framework.recipes.queue.DistributedQueue,java.lang.Object,oadd.org.apache.curator.framework.recipes.queue.MultiItem)>(v, v, v);
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: void internalCreateNode(java.lang.String,byte[],oadd.org.apache.curator.framework.api.BackgroundCallback)>(v, v, v);
return;
}
void internalCreateNode(java.lang.String, byte[], oadd.org.apache.curator.framework.api.BackgroundCallback) throws java.lang.Exception
{
byte[] v;
oadd.org.apache.zookeeper.CreateMode v;
oadd.org.apache.curator.framework.CuratorFramework v;
oadd.org.apache.curator.framework.api.BackgroundCallback v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
oadd.org.apache.curator.framework.api.CreateBuilder v;
java.lang.Object v, v;
java.lang.String v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.String;
v := @parameter: byte[];
v := @parameter: oadd.org.apache.curator.framework.api.BackgroundCallback;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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 = <oadd.org.apache.zookeeper.CreateMode: oadd.org.apache.zookeeper.CreateMode PERSISTENT_SEQUENTIAL>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.CreateBuilder: java.lang.Object withMode(oadd.org.apache.zookeeper.CreateMode)>(v);
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.ACLBackgroundPathAndBytesable: java.lang.Object inBackground(oadd.org.apache.curator.framework.api.BackgroundCallback)>(v);
interfaceinvoke v.<oadd.org.apache.curator.framework.api.ErrorListenerPathAndBytesable: java.lang.Object forPath(java.lang.String,byte[])>(v, v);
return;
}
void checkState() throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State v;
java.lang.IllegalStateException v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicReference state>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State STARTED>;
if v == v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
label:
return;
}
java.lang.String makeItemPath()
{
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
java.lang.String v, v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String queuePath>;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, "queue-");
return v;
}
oadd.org.apache.curator.framework.recipes.queue.ChildrenCache getCache()
{
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
oadd.org.apache.curator.framework.recipes.queue.ChildrenCache v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache childrenCache>;
return v;
}
protected void sortChildren(java.util.List)
{
java.util.List v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.util.List;
staticinvoke <java.util.Collections: void sort(java.util.List)>(v);
return;
}
protected java.util.List getChildren() throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue 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.queue.DistributedQueue;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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.queue.DistributedQueue: java.lang.String queuePath>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetChildrenBuilder: java.lang.Object forPath(java.lang.String)>(v);
return v;
}
protected long getDelay(java.lang.String)
{
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
java.lang.String v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.String;
return 0L;
}
protected boolean tryRemove(java.lang.String) throws java.lang.Exception
{
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
java.lang.String v, v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType v, v;
boolean v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.String;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String lockPath>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType REMOVE>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean processWithLockSafety(java.lang.String,oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType)>(v, v);
return v;
label:
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType REMOVE>;
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean processNormally(java.lang.String,oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType)>(v, v);
return v;
}
private boolean blockIfMaxed(int, java.util.concurrent.TimeUnit) throws java.lang.Exception
{
long v, v, v;
java.util.concurrent.TimeUnit v;
java.util.List v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
byte v;
int v, v, v;
oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data v;
oadd.org.apache.curator.framework.recipes.queue.ChildrenCache v, v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: int;
v := @parameter: java.util.concurrent.TimeUnit;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache childrenCache>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data getData()>();
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data: java.util.List children>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: int maxItems>;
if v < v goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data: long version>;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache childrenCache>;
v = v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data: long version>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data blockingNextGetData(long,long,java.util.concurrent.TimeUnit)>(v, v, v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data: long version>;
v = v cmp v;
if v != 0 goto label;
return 0;
label:
return 1;
}
private void runLoop()
{
long v, v;
java.util.concurrent.atomic.AtomicReference v;
java.util.ArrayList v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
byte v, v;
int v;
oadd.org.apache.curator.framework.recipes.queue.ChildrenCache v, v;
org.slf4j.Logger v;
java.lang.Exception v;
java.util.concurrent.TimeUnit v;
java.util.List v;
java.lang.InterruptedException v;
oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data v;
java.lang.Object v, v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v = -1L;
v = -1L;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicReference state>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$State STARTED>;
if v != v goto label;
label:
v = v cmp 0L;
if v <= 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache childrenCache>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data blockingNextGetData(long,long,java.util.concurrent.TimeUnit)>(v, v, v);
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache childrenCache>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data blockingNextGetData(long)>(v);
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data: long version>;
v = v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data: java.util.List children>;
v = staticinvoke <oadd.org.apache.curator.shaded.com.google.common.collect.Lists: java.util.ArrayList newArrayList(java.lang.Iterable)>(v);
virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: void sortChildren(java.util.List)>(v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: long getDelay(java.lang.String)>(v);
v = v cmp 0L;
if v > 0 goto label;
label:
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: void processChildren(java.util.List,long)>(v, v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Exception caught in background handler", v);
label:
return;
catch java.lang.InterruptedException from label to label with label;
catch java.lang.InterruptedException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void processChildren(java.util.List, long) throws java.lang.Exception
{
long v, v, v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
byte v, v;
java.lang.Thread v;
int v, v, v, v, v;
java.lang.String v, v;
boolean v, v, v, v, v, v;
oadd.org.apache.curator.framework.recipes.queue.ChildrenCache v;
org.slf4j.Logger v;
java.util.Iterator v;
java.util.concurrent.Executor v;
java.util.concurrent.Semaphore v;
java.util.List v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$4 v;
oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data v;
java.lang.Object v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.util.List;
v := @parameter: long;
v = new java.util.concurrent.Semaphore;
specialinvoke v.<java.util.concurrent.Semaphore: void <init>(int)>(0);
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String lockPath>;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: int minItemsBeforeRefresh>;
v = interfaceinvoke v.<java.util.List: 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()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: boolean isInterrupted()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
virtualinvoke v.<java.util.concurrent.Semaphore: void release(int)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("queue-");
if v != 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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[])>("Foreign node in queue path: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>(v);
virtualinvoke v.<java.util.concurrent.Semaphore: void release()>();
goto label;
label:
v = v;
v = v - 1;
if v > 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: boolean refreshOnWatch>;
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache childrenCache>;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache: oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data getData()>();
v = v.<oadd.org.apache.curator.framework.recipes.queue.ChildrenCache$Data: long version>;
v = v cmp v;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
virtualinvoke v.<java.util.concurrent.Semaphore: void release(int)>(v);
goto label;
label:
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: long getDelay(java.lang.String)>(v);
v = v cmp 0L;
if v <= 0 goto label;
virtualinvoke v.<java.util.concurrent.Semaphore: void release()>();
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.Executor executor>;
v = new oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$4;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$4: void <init>(oadd.org.apache.curator.framework.recipes.queue.DistributedQueue,boolean,java.lang.String,java.util.concurrent.Semaphore)>(v, v, v, v);
interfaceinvoke v.<java.util.concurrent.Executor: void execute(java.lang.Runnable)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
virtualinvoke v.<java.util.concurrent.Semaphore: void acquire(int)>(v);
return;
}
private oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessMessageBytesCode processMessageBytes(java.lang.String, byte[]) throws java.lang.Exception
{
java.lang.Throwable v, v;
byte[] v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessMessageBytesCode v;
java.util.concurrent.atomic.AtomicReference v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
oadd.org.apache.curator.framework.recipes.queue.QueueSerializer v;
java.lang.String v, v, v;
org.slf4j.Logger v, v;
oadd.org.apache.curator.framework.recipes.queue.QueueConsumer v;
oadd.org.apache.curator.framework.recipes.queue.ErrorMode v;
java.lang.Object v, v;
oadd.org.apache.curator.framework.recipes.queue.MultiItem v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.String;
v := @parameter: byte[];
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessMessageBytesCode: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessMessageBytesCode NORMAL>;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.QueueSerializer serializer>;
v = staticinvoke <oadd.org.apache.curator.framework.recipes.queue.ItemSerializer: oadd.org.apache.curator.framework.recipes.queue.MultiItem deserialize(byte[],oadd.org.apache.curator.framework.recipes.queue.QueueSerializer)>(v, v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.org.apache.curator.utils.ThreadUtils: boolean checkInterrupted(java.lang.Throwable)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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[])>("Corrupted queue item: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
return v;
label:
v = interfaceinvoke v.<oadd.org.apache.curator.framework.recipes.queue.MultiItem: java.lang.Object nextItem()>();
if v == null goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.QueueConsumer consumer>;
interfaceinvoke v.<oadd.org.apache.curator.framework.recipes.queue.QueueConsumer: void consumeMessage(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.org.apache.curator.utils.ThreadUtils: boolean checkInterrupted(java.lang.Throwable)>(v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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[])>("Exception processing queue item: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.util.concurrent.atomic.AtomicReference errorMode>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = <oadd.org.apache.curator.framework.recipes.queue.ErrorMode: oadd.org.apache.curator.framework.recipes.queue.ErrorMode REQUEUE>;
if v != v goto label;
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessMessageBytesCode: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessMessageBytesCode REQUEUE>;
label:
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private boolean processNormally(java.lang.String, oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType) throws java.lang.Exception
{
oadd.org.apache.curator.framework.api.GetDataBuilder v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
int v;
java.lang.String v, v, v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType v, v, v;
oadd.org.apache.zookeeper.data.Stat v;
oadd.org.apache.zookeeper.KeeperException$NodeExistsException v;
oadd.org.apache.zookeeper.KeeperException$NoNodeException v;
oadd.org.apache.curator.framework.CuratorFramework v, v, v;
oadd.org.apache.curator.framework.imps.CuratorFrameworkState v, v;
oadd.org.apache.zookeeper.KeeperException$BadVersionException v;
java.lang.Object v, v, v;
oadd.org.apache.curator.framework.api.DeleteBuilder v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.String;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String queuePath>;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, v);
v = new oadd.org.apache.zookeeper.data.Stat;
specialinvoke v.<oadd.org.apache.zookeeper.data.Stat: void <init>()>();
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType NORMAL>;
if v != v goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.GetDataBuilder getData()>();
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetDataBuilder: java.lang.Object storingStatIn(oadd.org.apache.zookeeper.data.Stat)>(v);
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.WatchPathable: java.lang.Object forPath(java.lang.String)>(v);
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: 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 = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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 = virtualinvoke v.<oadd.org.apache.zookeeper.data.Stat: int getVersion()>();
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.DeleteBuilder: java.lang.Object withVersion(int)>(v);
interfaceinvoke v.<oadd.org.apache.curator.framework.api.BackgroundPathable: java.lang.Object forPath(java.lang.String)>(v);
label:
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType NORMAL>;
if v != v goto label;
specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessMessageBytesCode processMessageBytes(java.lang.String,byte[])>(v, v);
label:
return 1;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
label:
return 0;
catch oadd.org.apache.zookeeper.KeeperException$NodeExistsException from label to label with label;
catch oadd.org.apache.zookeeper.KeeperException$NoNodeException from label to label with label;
catch oadd.org.apache.zookeeper.KeeperException$BadVersionException from label to label with label;
}
protected boolean processWithLockSafety(java.lang.String, oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType) throws java.lang.Exception
{
oadd.org.apache.zookeeper.CreateMode v, v;
oadd.org.apache.curator.framework.api.transaction.TransactionDeleteBuilder v;
oadd.org.apache.curator.framework.api.GetDataBuilder v;
oadd.org.apache.curator.framework.api.CreateBuilder v;
boolean v, v, v;
oadd.org.apache.curator.framework.api.transaction.TransactionCreateBuilder v;
oadd.org.apache.zookeeper.KeeperException$NodeExistsException v;
oadd.org.apache.zookeeper.KeeperException$NoNodeException v;
oadd.org.apache.curator.framework.CuratorFramework v, v, v, v, v, v, v, v, v;
oadd.org.apache.zookeeper.KeeperException$BadVersionException v;
java.lang.Throwable v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessMessageBytesCode v, v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
java.lang.String v, v, v, v, v, v;
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType v, v;
oadd.org.apache.curator.framework.api.transaction.CuratorTransaction v;
oadd.org.apache.curator.framework.api.transaction.CuratorTransactionFinal v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v;
oadd.org.apache.curator.framework.api.DeleteBuilder v, v, v, v, v, v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.String;
v := @parameter: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String lockPath>;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, v);
v = 0;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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 = <oadd.org.apache.zookeeper.CreateMode: oadd.org.apache.zookeeper.CreateMode EPHEMERAL>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.CreateBuilder: java.lang.Object withMode(oadd.org.apache.zookeeper.CreateMode)>(v);
interfaceinvoke v.<oadd.org.apache.curator.framework.api.ACLBackgroundPathAndBytesable: java.lang.Object forPath(java.lang.String)>(v);
v = 1;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String queuePath>;
v = staticinvoke <oadd.org.apache.curator.utils.ZKPaths: java.lang.String makePath(java.lang.String,java.lang.String)>(v, v);
v = 0;
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessType NORMAL>;
if v != v goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.GetDataBuilder getData()>();
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.GetDataBuilder: java.lang.Object forPath(java.lang.String)>(v);
v = specialinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessMessageBytesCode processMessageBytes(java.lang.String,byte[])>(v, v);
v = <oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessMessageBytesCode: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue$ProcessMessageBytesCode REQUEUE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.transaction.CuratorTransaction inTransaction()>();
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.transaction.CuratorTransaction: oadd.org.apache.curator.framework.api.transaction.TransactionDeleteBuilder delete()>();
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.transaction.TransactionDeleteBuilder: java.lang.Object forPath(java.lang.String)>(v);
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.transaction.CuratorTransactionBridge: oadd.org.apache.curator.framework.api.transaction.CuratorTransactionFinal and()>();
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.transaction.CuratorTransactionFinal: oadd.org.apache.curator.framework.api.transaction.TransactionCreateBuilder create()>();
v = <oadd.org.apache.zookeeper.CreateMode: oadd.org.apache.zookeeper.CreateMode PERSISTENT_SEQUENTIAL>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.transaction.TransactionCreateBuilder: java.lang.Object withMode(oadd.org.apache.zookeeper.CreateMode)>(v);
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String makeRequeueItemPath(java.lang.String)>(v);
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.ACLPathAndBytesable: java.lang.Object forPath(java.lang.String,byte[])>(v, v);
v = interfaceinvoke v.<oadd.org.apache.curator.framework.api.transaction.CuratorTransactionBridge: oadd.org.apache.curator.framework.api.transaction.CuratorTransactionFinal and()>();
interfaceinvoke v.<oadd.org.apache.curator.framework.api.transaction.CuratorTransactionFinal: java.util.Collection commit()>();
goto label;
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: oadd.org.apache.curator.framework.CuratorFramework client>;
v = interfaceinvoke v.<oadd.org.apache.curator.framework.CuratorFramework: oadd.org.apache.curator.framework.api.DeleteBuilder delete()>();
interfaceinvoke v.<oadd.org.apache.curator.framework.api.DeleteBuilder: java.lang.Object forPath(java.lang.String)>(v);
label:
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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 = 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);
return 1;
label:
v := @caughtexception;
label:
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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 = 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);
goto label;
label:
v := @caughtexception;
label:
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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 = 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);
goto label;
label:
v := @caughtexception;
label:
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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 = 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);
goto label;
label:
v := @caughtexception;
if v == 0 goto label;
v = v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: 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 = 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:
throw v;
label:
return 0;
catch oadd.org.apache.zookeeper.KeeperException$NodeExistsException from label to label with label;
catch oadd.org.apache.zookeeper.KeeperException$NoNodeException from label to label with label;
catch oadd.org.apache.zookeeper.KeeperException$BadVersionException 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;
}
protected java.lang.String makeRequeueItemPath(java.lang.String)
{
oadd.org.apache.curator.framework.recipes.queue.DistributedQueue v;
java.lang.String v, v;
v := @this: oadd.org.apache.curator.framework.recipes.queue.DistributedQueue;
v := @parameter: java.lang.String;
v = virtualinvoke v.<oadd.org.apache.curator.framework.recipes.queue.DistributedQueue: java.lang.String makeItemPath()>();
return v;
}
}