final class io.netty.util.concurrent.ScheduledFutureTask extends io.netty.util.concurrent.PromiseTask implements io.netty.util.concurrent.ScheduledFuture, io.netty.util.internal.PriorityQueueNode
{
private long id;
private long deadlineNanos;
private final long periodNanos;
private int queueIndex;
static final boolean $assertionsDisabled;
void <init>(io.netty.util.concurrent.AbstractScheduledEventExecutor, java.lang.Runnable, long)
{
io.netty.util.concurrent.ScheduledFutureTask v;
io.netty.util.concurrent.AbstractScheduledEventExecutor v;
int v;
long v;
java.lang.Runnable v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: io.netty.util.concurrent.AbstractScheduledEventExecutor;
v := @parameter: java.lang.Runnable;
v := @parameter: long;
specialinvoke v.<io.netty.util.concurrent.PromiseTask: void <init>(io.netty.util.concurrent.EventExecutor,java.lang.Runnable)>(v, v);
v = (int) -1;
v.<io.netty.util.concurrent.ScheduledFutureTask: int queueIndex> = v;
v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos> = v;
v.<io.netty.util.concurrent.ScheduledFutureTask: long periodNanos> = 0L;
return;
}
void <init>(io.netty.util.concurrent.AbstractScheduledEventExecutor, java.lang.Runnable, long, long)
{
io.netty.util.concurrent.ScheduledFutureTask v;
io.netty.util.concurrent.AbstractScheduledEventExecutor v;
int v;
long v, v, v;
java.lang.Runnable v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: io.netty.util.concurrent.AbstractScheduledEventExecutor;
v := @parameter: java.lang.Runnable;
v := @parameter: long;
v := @parameter: long;
specialinvoke v.<io.netty.util.concurrent.PromiseTask: void <init>(io.netty.util.concurrent.EventExecutor,java.lang.Runnable)>(v, v);
v = (int) -1;
v.<io.netty.util.concurrent.ScheduledFutureTask: int queueIndex> = v;
v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos> = v;
v = staticinvoke <io.netty.util.concurrent.ScheduledFutureTask: long validatePeriod(long)>(v);
v.<io.netty.util.concurrent.ScheduledFutureTask: long periodNanos> = v;
return;
}
void <init>(io.netty.util.concurrent.AbstractScheduledEventExecutor, java.util.concurrent.Callable, long, long)
{
io.netty.util.concurrent.ScheduledFutureTask v;
io.netty.util.concurrent.AbstractScheduledEventExecutor v;
int v;
java.util.concurrent.Callable v;
long v, v, v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: io.netty.util.concurrent.AbstractScheduledEventExecutor;
v := @parameter: java.util.concurrent.Callable;
v := @parameter: long;
v := @parameter: long;
specialinvoke v.<io.netty.util.concurrent.PromiseTask: void <init>(io.netty.util.concurrent.EventExecutor,java.util.concurrent.Callable)>(v, v);
v = (int) -1;
v.<io.netty.util.concurrent.ScheduledFutureTask: int queueIndex> = v;
v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos> = v;
v = staticinvoke <io.netty.util.concurrent.ScheduledFutureTask: long validatePeriod(long)>(v);
v.<io.netty.util.concurrent.ScheduledFutureTask: long periodNanos> = v;
return;
}
void <init>(io.netty.util.concurrent.AbstractScheduledEventExecutor, java.util.concurrent.Callable, long)
{
io.netty.util.concurrent.ScheduledFutureTask v;
io.netty.util.concurrent.AbstractScheduledEventExecutor v;
int v;
java.util.concurrent.Callable v;
long v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: io.netty.util.concurrent.AbstractScheduledEventExecutor;
v := @parameter: java.util.concurrent.Callable;
v := @parameter: long;
specialinvoke v.<io.netty.util.concurrent.PromiseTask: void <init>(io.netty.util.concurrent.EventExecutor,java.util.concurrent.Callable)>(v, v);
v = (int) -1;
v.<io.netty.util.concurrent.ScheduledFutureTask: int queueIndex> = v;
v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos> = v;
v.<io.netty.util.concurrent.ScheduledFutureTask: long periodNanos> = 0L;
return;
}
private static long validatePeriod(long)
{
long v;
byte v;
java.lang.IllegalArgumentException v;
v := @parameter: long;
v = v cmp 0L;
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("period: 0 (expected: != 0)");
throw v;
label:
return v;
}
io.netty.util.concurrent.ScheduledFutureTask setId(long)
{
io.netty.util.concurrent.ScheduledFutureTask v;
byte v;
long v, v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: long;
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long id>;
v = v cmp 0L;
if v != 0 goto label;
v.<io.netty.util.concurrent.ScheduledFutureTask: long id> = v;
label:
return v;
}
protected io.netty.util.concurrent.EventExecutor executor()
{
io.netty.util.concurrent.EventExecutor v;
io.netty.util.concurrent.ScheduledFutureTask v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v = specialinvoke v.<io.netty.util.concurrent.PromiseTask: io.netty.util.concurrent.EventExecutor executor()>();
return v;
}
public long deadlineNanos()
{
io.netty.util.concurrent.ScheduledFutureTask v;
long v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos>;
return v;
}
void setConsumed()
{
io.netty.util.concurrent.ScheduledFutureTask v;
long v, v, v;
java.lang.AssertionError v;
byte v, v;
io.netty.util.concurrent.AbstractScheduledEventExecutor v;
boolean v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long periodNanos>;
v = v cmp 0L;
if v != 0 goto label;
v = <io.netty.util.concurrent.ScheduledFutureTask: boolean $assertionsDisabled>;
if v != 0 goto label;
v = specialinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.AbstractScheduledEventExecutor scheduledExecutor()>();
v = virtualinvoke v.<io.netty.util.concurrent.AbstractScheduledEventExecutor: long getCurrentTimeNanos()>();
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos>;
v = v cmp v;
if v >= 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos> = 0L;
label:
return;
}
public long delayNanos()
{
io.netty.util.concurrent.ScheduledFutureTask v;
io.netty.util.concurrent.AbstractScheduledEventExecutor v;
long v, v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v = specialinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.AbstractScheduledEventExecutor scheduledExecutor()>();
v = virtualinvoke v.<io.netty.util.concurrent.AbstractScheduledEventExecutor: long getCurrentTimeNanos()>();
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: long delayNanos(long)>(v);
return v;
}
static long deadlineToDelayNanos(long, long)
{
byte v;
long v, v, v, v;
v := @parameter: long;
v := @parameter: long;
v = v cmp 0L;
if v != 0 goto label;
v = 0L;
goto label;
label:
v = v - v;
v = staticinvoke <java.lang.Math: long max(long,long)>(0L, v);
label:
return v;
}
public long delayNanos(long)
{
io.netty.util.concurrent.ScheduledFutureTask v;
long v, v, v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: long;
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos>;
v = staticinvoke <io.netty.util.concurrent.ScheduledFutureTask: long deadlineToDelayNanos(long,long)>(v, v);
return v;
}
public long getDelay(java.util.concurrent.TimeUnit)
{
io.netty.util.concurrent.ScheduledFutureTask v;
java.util.concurrent.TimeUnit v, v;
long v, v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: java.util.concurrent.TimeUnit;
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: long delayNanos()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long convert(long,java.util.concurrent.TimeUnit)>(v, v);
return v;
}
public int compareTo(java.util.concurrent.Delayed)
{
io.netty.util.concurrent.ScheduledFutureTask v;
long v, v, v, v, v, v, v;
java.lang.AssertionError v;
byte v, v, v, v;
int v, v;
java.util.concurrent.Delayed v;
boolean v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: java.util.concurrent.Delayed;
if v != v goto label;
return 0;
label:
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos()>();
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos()>();
v = v - v;
v = v cmp 0L;
if v >= 0 goto label;
v = (int) -1;
return v;
label:
v = v cmp 0L;
if v <= 0 goto label;
return 1;
label:
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long id>;
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long id>;
v = v cmp v;
if v >= 0 goto label;
v = (int) -1;
return v;
label:
v = <io.netty.util.concurrent.ScheduledFutureTask: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long id>;
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long id>;
v = v cmp v;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
return 1;
}
public void run()
{
io.netty.util.concurrent.EventExecutor v, v;
io.netty.util.concurrent.ScheduledFutureTask v;
java.lang.Throwable v;
io.netty.util.internal.PriorityQueue v, v;
long v, v, v, v, v, v, v, v, v;
java.lang.AssertionError v;
byte v, v, v;
boolean v, v, v, v, v, v, v;
io.netty.util.concurrent.AbstractScheduledEventExecutor v, v, v, v;
java.lang.Object v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v = <io.netty.util.concurrent.ScheduledFutureTask: boolean $assertionsDisabled>;
if v != 0 goto label;
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: long delayNanos()>();
v = v cmp 0L;
if v <= 0 goto label;
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: boolean isCancelled()>();
if v == 0 goto label;
v = specialinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.AbstractScheduledEventExecutor scheduledExecutor()>();
v = virtualinvoke v.<io.netty.util.concurrent.AbstractScheduledEventExecutor: io.netty.util.internal.PriorityQueue scheduledTaskQueue()>();
interfaceinvoke v.<io.netty.util.internal.PriorityQueue: boolean removeTyped(java.lang.Object)>(v);
goto label;
label:
v = specialinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.AbstractScheduledEventExecutor scheduledExecutor()>();
virtualinvoke v.<io.netty.util.concurrent.AbstractScheduledEventExecutor: void scheduleFromEventLoop(io.netty.util.concurrent.ScheduledFutureTask)>(v);
label:
return;
label:
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long periodNanos>;
v = v cmp 0L;
if v != 0 goto label;
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: boolean setUncancellableInternal()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: java.lang.Object runTask()>();
virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.Promise setSuccessInternal(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: boolean isCancelled()>();
if v != 0 goto label;
virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: java.lang.Object runTask()>();
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean isShutdown()>();
if v != 0 goto label;
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long periodNanos>;
v = v cmp 0L;
if v <= 0 goto label;
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos>;
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long periodNanos>;
v = v + v;
v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos> = v;
goto label;
label:
v = specialinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.AbstractScheduledEventExecutor scheduledExecutor()>();
v = virtualinvoke v.<io.netty.util.concurrent.AbstractScheduledEventExecutor: long getCurrentTimeNanos()>();
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long periodNanos>;
v = v - v;
v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos> = v;
label:
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: boolean isCancelled()>();
if v != 0 goto label;
v = specialinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.AbstractScheduledEventExecutor scheduledExecutor()>();
v = virtualinvoke v.<io.netty.util.concurrent.AbstractScheduledEventExecutor: io.netty.util.internal.PriorityQueue scheduledTaskQueue()>();
interfaceinvoke v.<io.netty.util.internal.PriorityQueue: boolean add(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.Promise setFailureInternal(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private io.netty.util.concurrent.AbstractScheduledEventExecutor scheduledExecutor()
{
io.netty.util.concurrent.EventExecutor v;
io.netty.util.concurrent.ScheduledFutureTask v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v = virtualinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.EventExecutor executor()>();
return v;
}
public boolean cancel(boolean)
{
io.netty.util.concurrent.ScheduledFutureTask v;
io.netty.util.concurrent.AbstractScheduledEventExecutor v;
boolean v, v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: boolean;
v = specialinvoke v.<io.netty.util.concurrent.PromiseTask: boolean cancel(boolean)>(v);
if v == 0 goto label;
v = specialinvoke v.<io.netty.util.concurrent.ScheduledFutureTask: io.netty.util.concurrent.AbstractScheduledEventExecutor scheduledExecutor()>();
virtualinvoke v.<io.netty.util.concurrent.AbstractScheduledEventExecutor: void removeScheduled(io.netty.util.concurrent.ScheduledFutureTask)>(v);
label:
return v;
}
boolean cancelWithoutRemove(boolean)
{
io.netty.util.concurrent.ScheduledFutureTask v;
boolean v, v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: boolean;
v = specialinvoke v.<io.netty.util.concurrent.PromiseTask: boolean cancel(boolean)>(v);
return v;
}
protected java.lang.StringBuilder toStringBuilder()
{
io.netty.util.concurrent.ScheduledFutureTask v;
long v, v;
int v, v;
java.lang.StringBuilder v, v, v, v, v, v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v = specialinvoke v.<io.netty.util.concurrent.PromiseTask: java.lang.StringBuilder toStringBuilder()>();
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
v = v - 1;
virtualinvoke v.<java.lang.StringBuilder: void setCharAt(int,char)>(v, 44);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" deadline: ");
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long deadlineNanos>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", period: ");
v = v.<io.netty.util.concurrent.ScheduledFutureTask: long periodNanos>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(41);
return v;
}
public int priorityQueueIndex(io.netty.util.internal.DefaultPriorityQueue)
{
int v;
io.netty.util.concurrent.ScheduledFutureTask v;
io.netty.util.internal.DefaultPriorityQueue v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: io.netty.util.internal.DefaultPriorityQueue;
v = v.<io.netty.util.concurrent.ScheduledFutureTask: int queueIndex>;
return v;
}
public void priorityQueueIndex(io.netty.util.internal.DefaultPriorityQueue, int)
{
int v;
io.netty.util.concurrent.ScheduledFutureTask v;
io.netty.util.internal.DefaultPriorityQueue v;
v := @this: io.netty.util.concurrent.ScheduledFutureTask;
v := @parameter: io.netty.util.internal.DefaultPriorityQueue;
v := @parameter: int;
v.<io.netty.util.concurrent.ScheduledFutureTask: int queueIndex> = v;
return;
}
static void <clinit>()
{
java.lang.Class v;
boolean v, v;
v = class "Lio/netty/util/concurrent/ScheduledFutureTask;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<io.netty.util.concurrent.ScheduledFutureTask: boolean $assertionsDisabled> = v;
return;
}
}