public class org.apache.cassandra.service.DigestResolver extends org.apache.cassandra.service.ResponseResolver
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.service.DigestResolver
super_class: org.apache.cassandra.service.ResponseResolver
{
private volatile org.apache.cassandra.db.ReadResponse dataResponse;
descriptor: Lorg/apache/cassandra/db/ReadResponse;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/service/DigestResolver;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.cassandra.service.DigestResolver.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.cassandra.db.Keyspace, org.apache.cassandra.db.ReadCommand, org.apache.cassandra.db.ConsistencyLevel, int);
descriptor: (Lorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/ConsistencyLevel;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
iload 4
invokespecial org.apache.cassandra.service.ResponseResolver.<init>:(Lorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/ConsistencyLevel;I)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/DigestResolver;
0 2 1 keyspace Lorg/apache/cassandra/db/Keyspace;
0 2 2 command Lorg/apache/cassandra/db/ReadCommand;
0 2 3 consistency Lorg/apache/cassandra/db/ConsistencyLevel;
0 2 4 maxResponseCount I
MethodParameters:
Name Flags
keyspace
command
consistency
maxResponseCount
public void preprocess(org.apache.cassandra.net.MessageIn<org.apache.cassandra.db.ReadResponse>);
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
aload 1
invokespecial org.apache.cassandra.service.ResponseResolver.preprocess:(Lorg/apache/cassandra/net/MessageIn;)V
1: aload 0
getfield org.apache.cassandra.service.DigestResolver.dataResponse:Lorg/apache/cassandra/db/ReadResponse;
ifnonnull 3
aload 1
getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
checkcast org.apache.cassandra.db.ReadResponse
invokevirtual org.apache.cassandra.db.ReadResponse.isDigestResponse:()Z
ifne 3
2: aload 0
aload 1
getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
checkcast org.apache.cassandra.db.ReadResponse
putfield org.apache.cassandra.service.DigestResolver.dataResponse:Lorg/apache/cassandra/db/ReadResponse;
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/service/DigestResolver;
0 4 1 message Lorg/apache/cassandra/net/MessageIn<Lorg/apache/cassandra/db/ReadResponse;>;
Signature: (Lorg/apache/cassandra/net/MessageIn<Lorg/apache/cassandra/db/ReadResponse;>;)V
MethodParameters:
Name Flags
message
public org.apache.cassandra.db.partitions.PartitionIterator getData();
descriptor: ()Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.service.DigestResolver.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.apache.cassandra.service.DigestResolver.isDataPresent:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.DigestResolver.dataResponse:Lorg/apache/cassandra/db/ReadResponse;
aload 0
getfield org.apache.cassandra.service.DigestResolver.command:Lorg/apache/cassandra/db/ReadCommand;
invokevirtual org.apache.cassandra.db.ReadResponse.makeIterator:(Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
aload 0
getfield org.apache.cassandra.service.DigestResolver.command:Lorg/apache/cassandra/db/ReadCommand;
invokevirtual org.apache.cassandra.db.ReadCommand.nowInSec:()I
invokestatic org.apache.cassandra.db.partitions.UnfilteredPartitionIterators.filter:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;I)Lorg/apache/cassandra/db/partitions/PartitionIterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/DigestResolver;
public org.apache.cassandra.db.partitions.PartitionIterator resolve();
descriptor: ()Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.DigestResolver.responses:Lorg/apache/cassandra/utils/concurrent/Accumulator;
invokevirtual org.apache.cassandra.utils.concurrent.Accumulator.size:()I
iconst_1
if_icmpne 2
1: aload 0
invokevirtual org.apache.cassandra.service.DigestResolver.getData:()Lorg/apache/cassandra/db/partitions/PartitionIterator;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.service.DigestResolver.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 4
3: getstatic org.apache.cassandra.service.DigestResolver.logger:Lorg/slf4j/Logger;
ldc "resolving {} responses"
aload 0
getfield org.apache.cassandra.service.DigestResolver.responses:Lorg/apache/cassandra/utils/concurrent/Accumulator;
invokevirtual org.apache.cassandra.utils.concurrent.Accumulator.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.service.DigestResolver.compareResponses:()V
5: aload 0
getfield org.apache.cassandra.service.DigestResolver.dataResponse:Lorg/apache/cassandra/db/ReadResponse;
aload 0
getfield org.apache.cassandra.service.DigestResolver.command:Lorg/apache/cassandra/db/ReadCommand;
invokevirtual org.apache.cassandra.db.ReadResponse.makeIterator:(Lorg/apache/cassandra/db/ReadCommand;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
aload 0
getfield org.apache.cassandra.service.DigestResolver.command:Lorg/apache/cassandra/db/ReadCommand;
invokevirtual org.apache.cassandra.db.ReadCommand.nowInSec:()I
invokestatic org.apache.cassandra.db.partitions.UnfilteredPartitionIterators.filter:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;I)Lorg/apache/cassandra/db/partitions/PartitionIterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/service/DigestResolver;
Exceptions:
throws org.apache.cassandra.service.DigestMismatchException
public void compareResponses();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: invokestatic java.lang.System.nanoTime:()J
lstore 1
start local 1 1: aconst_null
astore 3
start local 3 2: aload 0
getfield org.apache.cassandra.service.DigestResolver.responses:Lorg/apache/cassandra/utils/concurrent/Accumulator;
invokevirtual org.apache.cassandra.utils.concurrent.Accumulator.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: org.apache.cassandra.service.DigestResolver long java.nio.ByteBuffer top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.net.MessageIn
astore 4
start local 4 4: aload 4
getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
checkcast org.apache.cassandra.db.ReadResponse
astore 6
start local 6 5: aload 6
aload 0
getfield org.apache.cassandra.service.DigestResolver.command:Lorg/apache/cassandra/db/ReadCommand;
invokevirtual org.apache.cassandra.db.ReadResponse.digest:(Lorg/apache/cassandra/db/ReadCommand;)Ljava/nio/ByteBuffer;
astore 7
start local 7 6: aload 3
ifnonnull 8
7: aload 7
astore 3
goto 10
8: StackMap locals: org.apache.cassandra.service.DigestResolver long java.nio.ByteBuffer org.apache.cassandra.net.MessageIn java.util.Iterator org.apache.cassandra.db.ReadResponse java.nio.ByteBuffer
StackMap stack:
aload 3
aload 7
invokevirtual java.nio.ByteBuffer.equals:(Ljava/lang/Object;)Z
ifne 10
9: new org.apache.cassandra.service.DigestMismatchException
dup
aload 0
getfield org.apache.cassandra.service.DigestResolver.command:Lorg/apache/cassandra/db/ReadCommand;
checkcast org.apache.cassandra.db.SinglePartitionReadCommand
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
aload 3
aload 7
invokespecial org.apache.cassandra.service.DigestMismatchException.<init>:(Lorg/apache/cassandra/db/DecoratedKey;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
athrow
end local 7 end local 6 end local 4 10: StackMap locals: org.apache.cassandra.service.DigestResolver long java.nio.ByteBuffer top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: getstatic org.apache.cassandra.service.DigestResolver.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 13
12: getstatic org.apache.cassandra.service.DigestResolver.logger:Lorg/slf4j/Logger;
ldc "resolve: {} ms."
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic java.lang.System.nanoTime:()J
lload 1
lsub
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
13: StackMap locals: org.apache.cassandra.service.DigestResolver long java.nio.ByteBuffer
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/cassandra/service/DigestResolver;
1 14 1 start J
2 14 3 digest Ljava/nio/ByteBuffer;
4 10 4 message Lorg/apache/cassandra/net/MessageIn<Lorg/apache/cassandra/db/ReadResponse;>;
5 10 6 response Lorg/apache/cassandra/db/ReadResponse;
6 10 7 newDigest Ljava/nio/ByteBuffer;
Exceptions:
throws org.apache.cassandra.service.DigestMismatchException
public boolean isDataPresent();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.DigestResolver.dataResponse:Lorg/apache/cassandra/db/ReadResponse;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/DigestResolver;
}
SourceFile: "DigestResolver.java"