final class org.apache.cassandra.hints.HintsReader$BuffersIterator extends org.apache.cassandra.utils.AbstractIterator<java.nio.ByteBuffer>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.hints.HintsReader$BuffersIterator
super_class: org.apache.cassandra.utils.AbstractIterator
{
private final org.apache.cassandra.hints.InputPosition offset;
descriptor: Lorg/apache/cassandra/hints/InputPosition;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final org.apache.cassandra.hints.HintsReader this$0;
descriptor: Lorg/apache/cassandra/hints/HintsReader;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.apache.cassandra.hints.HintsReader, org.apache.cassandra.hints.InputPosition);
descriptor: (Lorg/apache/cassandra/hints/HintsReader;Lorg/apache/cassandra/hints/InputPosition;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
1: aload 0
invokespecial org.apache.cassandra.utils.AbstractIterator.<init>:()V
2: aload 0
aload 2
putfield org.apache.cassandra.hints.HintsReader$BuffersIterator.offset:Lorg/apache/cassandra/hints/InputPosition;
3: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/hints/HintsReader$BuffersIterator;
0 4 2 offset Lorg/apache/cassandra/hints/InputPosition;
MethodParameters:
Name Flags
this$0 final
offset
protected java.nio.ByteBuffer computeNext();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.input:Lorg/apache/cassandra/hints/ChecksummedDataInput;
invokevirtual org.apache.cassandra.hints.ChecksummedDataInput.getSeekPosition:()Lorg/apache/cassandra/hints/InputPosition;
astore 2
start local 2 1: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.input:Lorg/apache/cassandra/hints/ChecksummedDataInput;
invokevirtual org.apache.cassandra.hints.ChecksummedDataInput.isEOF:()Z
ifeq 3
2: aload 0
invokevirtual org.apache.cassandra.hints.HintsReader$BuffersIterator.endOfData:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
areturn
3: StackMap locals: org.apache.cassandra.hints.HintsReader$BuffersIterator top org.apache.cassandra.hints.InputPosition
StackMap stack:
aload 2
aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.offset:Lorg/apache/cassandra/hints/InputPosition;
invokeinterface org.apache.cassandra.hints.InputPosition.subtract:(Lorg/apache/cassandra/hints/InputPosition;)J
ldc 524288
lcmp
iflt 5
4: aload 0
invokevirtual org.apache.cassandra.hints.HintsReader$BuffersIterator.endOfData:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNextInternal:()Ljava/nio/ByteBuffer;
astore 1
start local 1 6: goto 12
end local 1 7: StackMap locals:
StackMap stack: java.io.EOFException
astore 3
start local 3 8: getstatic org.apache.cassandra.hints.HintsReader.logger:Lorg/slf4j/Logger;
ldc "Unexpected EOF replaying hints ({}), likely due to unflushed hint file on shutdown; continuing"
aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.descriptor:Lorg/apache/cassandra/hints/HintsDescriptor;
invokevirtual org.apache.cassandra.hints.HintsDescriptor.fileName:()Ljava/lang/String;
aload 3
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 0
invokevirtual org.apache.cassandra.hints.HintsReader$BuffersIterator.endOfData:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
areturn
end local 3 10: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 11: new org.apache.cassandra.io.FSReadError
dup
aload 3
aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.file:Ljava/io/File;
invokespecial org.apache.cassandra.io.FSReadError.<init>:(Ljava/lang/Throwable;Ljava/io/File;)V
athrow
end local 3 end local 2 start local 1 12: StackMap locals: org.apache.cassandra.hints.HintsReader$BuffersIterator java.nio.ByteBuffer
StackMap stack:
aload 1
ifnull 0
13: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/cassandra/hints/HintsReader$BuffersIterator;
6 7 1 buffer Ljava/nio/ByteBuffer;
12 14 1 buffer Ljava/nio/ByteBuffer;
1 12 2 position Lorg/apache/cassandra/hints/InputPosition;
8 10 3 e Ljava/io/EOFException;
11 12 3 e Ljava/io/IOException;
Exception table:
from to target type
5 6 7 Class java.io.EOFException
5 6 10 Class java.io.IOException
private java.nio.ByteBuffer computeNextInternal();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.input:Lorg/apache/cassandra/hints/ChecksummedDataInput;
invokevirtual org.apache.cassandra.hints.ChecksummedDataInput.resetCrc:()V
1: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.input:Lorg/apache/cassandra/hints/ChecksummedDataInput;
invokevirtual org.apache.cassandra.hints.ChecksummedDataInput.resetLimit:()V
2: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.input:Lorg/apache/cassandra/hints/ChecksummedDataInput;
invokevirtual org.apache.cassandra.hints.ChecksummedDataInput.readInt:()I
istore 1
start local 1 3: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.input:Lorg/apache/cassandra/hints/ChecksummedDataInput;
invokevirtual org.apache.cassandra.hints.ChecksummedDataInput.checkCrc:()Z
ifne 5
4: new java.io.IOException
dup
ldc "Digest mismatch exception"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual org.apache.cassandra.hints.HintsReader$BuffersIterator.readBuffer:(I)Ljava/nio/ByteBuffer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/hints/HintsReader$BuffersIterator;
3 6 1 size I
Exceptions:
throws java.io.IOException
private java.nio.ByteBuffer readBuffer(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.rateLimiter:Lcom/google/common/util/concurrent/RateLimiter;
ifnull 2
1: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.rateLimiter:Lcom/google/common/util/concurrent/RateLimiter;
iload 1
invokevirtual com.google.common.util.concurrent.RateLimiter.acquire:(I)D
pop2
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.input:Lorg/apache/cassandra/hints/ChecksummedDataInput;
iload 1
i2l
invokevirtual org.apache.cassandra.hints.ChecksummedDataInput.limit:(J)V
3: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.input:Lorg/apache/cassandra/hints/ChecksummedDataInput;
iload 1
invokestatic org.apache.cassandra.utils.ByteBufferUtil.read:(Ljava/io/DataInput;I)Ljava/nio/ByteBuffer;
astore 2
start local 2 4: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.input:Lorg/apache/cassandra/hints/ChecksummedDataInput;
invokevirtual org.apache.cassandra.hints.ChecksummedDataInput.checkCrc:()Z
ifeq 6
5: aload 2
areturn
6: StackMap locals: java.nio.ByteBuffer
StackMap stack:
getstatic org.apache.cassandra.hints.HintsReader.logger:Lorg/slf4j/Logger;
ldc "Failed to read a hint for {} - digest mismatch for hint at position {} in file {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
7: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.descriptor:Lorg/apache/cassandra/hints/HintsDescriptor;
getfield org.apache.cassandra.hints.HintsDescriptor.hostId:Ljava/util/UUID;
aastore
dup
iconst_1
8: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.input:Lorg/apache/cassandra/hints/ChecksummedDataInput;
invokevirtual org.apache.cassandra.hints.ChecksummedDataInput.getPosition:()J
iload 1
i2l
lsub
ldc 4
lsub
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
9: aload 0
getfield org.apache.cassandra.hints.HintsReader$BuffersIterator.this$0:Lorg/apache/cassandra/hints/HintsReader;
getfield org.apache.cassandra.hints.HintsReader.descriptor:Lorg/apache/cassandra/hints/HintsDescriptor;
invokevirtual org.apache.cassandra.hints.HintsDescriptor.fileName:()Ljava/lang/String;
aastore
10: invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
11: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/hints/HintsReader$BuffersIterator;
0 12 1 size I
4 12 2 buffer Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
size
protected java.lang.Object computeNext();
descriptor: ()Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.apache.cassandra.hints.HintsReader$BuffersIterator.computeNext:()Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/apache/cassandra/utils/AbstractIterator<Ljava/nio/ByteBuffer;>;
SourceFile: "HintsReader.java"
NestHost: org.apache.cassandra.hints.HintsReader
InnerClasses:
final BuffersIterator = org.apache.cassandra.hints.HintsReader$BuffersIterator of org.apache.cassandra.hints.HintsReader