final class org.apache.cassandra.hints.HintsDispatcher$Callback implements org.apache.cassandra.net.IAsyncCallbackWithFailure
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.hints.HintsDispatcher$Callback
super_class: java.lang.Object
{
private final long start;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.utils.concurrent.SimpleCondition condition;
descriptor: Lorg/apache/cassandra/utils/concurrent/SimpleCondition;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile org.apache.cassandra.hints.HintsDispatcher$Callback$Outcome outcome;
descriptor: Lorg/apache/cassandra/hints/HintsDispatcher$Callback$Outcome;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic java.lang.System.nanoTime:()J
putfield org.apache.cassandra.hints.HintsDispatcher$Callback.start:J
2: aload 0
new org.apache.cassandra.utils.concurrent.SimpleCondition
dup
invokespecial org.apache.cassandra.utils.concurrent.SimpleCondition.<init>:()V
putfield org.apache.cassandra.hints.HintsDispatcher$Callback.condition:Lorg/apache/cassandra/utils/concurrent/SimpleCondition;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/hints/HintsDispatcher$Callback;
org.apache.cassandra.hints.HintsDispatcher$Callback$Outcome await();
descriptor: ()Lorg/apache/cassandra/hints/HintsDispatcher$Callback$Outcome;
flags: (0x0000)
Code:
stack=6, locals=5, args_size=1
start local 0 0: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
getstatic org.apache.cassandra.net.MessagingService$Verb.HINT:Lorg/apache/cassandra/net/MessagingService$Verb;
invokevirtual org.apache.cassandra.net.MessagingService$Verb.getTimeout:()J
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
invokestatic java.lang.System.nanoTime:()J
aload 0
getfield org.apache.cassandra.hints.HintsDispatcher$Callback.start:J
lsub
lsub
lstore 1
start local 1 1: aload 0
getfield org.apache.cassandra.hints.HintsDispatcher$Callback.condition:Lorg/apache/cassandra/utils/concurrent/SimpleCondition;
lload 1
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual org.apache.cassandra.utils.concurrent.SimpleCondition.await:(JLjava/util/concurrent/TimeUnit;)Z
ifeq 2
iconst_0
goto 3
StackMap locals: long
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: goto 8
end local 3 5: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 4
start local 4 6: getstatic org.apache.cassandra.hints.HintsDispatcher.logger:Lorg/slf4j/Logger;
ldc "Hint dispatch was interrupted"
aload 4
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
7: getstatic org.apache.cassandra.hints.HintsDispatcher$Callback$Outcome.INTERRUPTED:Lorg/apache/cassandra/hints/HintsDispatcher$Callback$Outcome;
areturn
end local 4 start local 3 8: StackMap locals: int
StackMap stack:
iload 3
ifeq 9
getstatic org.apache.cassandra.hints.HintsDispatcher$Callback$Outcome.TIMEOUT:Lorg/apache/cassandra/hints/HintsDispatcher$Callback$Outcome;
goto 10
StackMap locals:
StackMap stack:
9: aload 0
getfield org.apache.cassandra.hints.HintsDispatcher$Callback.outcome:Lorg/apache/cassandra/hints/HintsDispatcher$Callback$Outcome;
StackMap locals:
StackMap stack: org.apache.cassandra.hints.HintsDispatcher$Callback$Outcome
10: areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/hints/HintsDispatcher$Callback;
1 11 1 timeout J
4 5 3 timedOut Z
8 11 3 timedOut Z
6 8 4 e Ljava/lang/InterruptedException;
Exception table:
from to target type
1 4 5 Class java.lang.InterruptedException
public void onFailure(java.net.InetAddress, org.apache.cassandra.exceptions.RequestFailureReason);
descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/exceptions/RequestFailureReason;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic org.apache.cassandra.hints.HintsDispatcher$Callback$Outcome.FAILURE:Lorg/apache/cassandra/hints/HintsDispatcher$Callback$Outcome;
putfield org.apache.cassandra.hints.HintsDispatcher$Callback.outcome:Lorg/apache/cassandra/hints/HintsDispatcher$Callback$Outcome;
1: aload 0
getfield org.apache.cassandra.hints.HintsDispatcher$Callback.condition:Lorg/apache/cassandra/utils/concurrent/SimpleCondition;
invokevirtual org.apache.cassandra.utils.concurrent.SimpleCondition.signalAll:()V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/hints/HintsDispatcher$Callback;
0 3 1 from Ljava/net/InetAddress;
0 3 2 failureReason Lorg/apache/cassandra/exceptions/RequestFailureReason;
MethodParameters:
Name Flags
from
failureReason
public void response(org.apache.cassandra.net.MessageIn);
descriptor: (Lorg/apache/cassandra/net/MessageIn;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic org.apache.cassandra.hints.HintsDispatcher$Callback$Outcome.SUCCESS:Lorg/apache/cassandra/hints/HintsDispatcher$Callback$Outcome;
putfield org.apache.cassandra.hints.HintsDispatcher$Callback.outcome:Lorg/apache/cassandra/hints/HintsDispatcher$Callback$Outcome;
1: aload 0
getfield org.apache.cassandra.hints.HintsDispatcher$Callback.condition:Lorg/apache/cassandra/utils/concurrent/SimpleCondition;
invokevirtual org.apache.cassandra.utils.concurrent.SimpleCondition.signalAll:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/hints/HintsDispatcher$Callback;
0 3 1 msg Lorg/apache/cassandra/net/MessageIn;
MethodParameters:
Name Flags
msg
public boolean isLatencyForSnitch();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/hints/HintsDispatcher$Callback;
public boolean supportsBackPressure();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/hints/HintsDispatcher$Callback;
}
SourceFile: "HintsDispatcher.java"
NestHost: org.apache.cassandra.hints.HintsDispatcher
InnerClasses:
private final Callback = org.apache.cassandra.hints.HintsDispatcher$Callback of org.apache.cassandra.hints.HintsDispatcher
final Outcome = org.apache.cassandra.hints.HintsDispatcher$Callback$Outcome of org.apache.cassandra.hints.HintsDispatcher$Callback
public Verb = org.apache.cassandra.net.MessagingService$Verb of org.apache.cassandra.net.MessagingService