public class org.apache.cassandra.db.commitlog.CommitLogSegmentReader implements java.lang.Iterable<org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SyncSegment>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.db.commitlog.CommitLogSegmentReader
super_class: java.lang.Object
{
private final org.apache.cassandra.db.commitlog.CommitLogReadHandler handler;
descriptor: Lorg/apache/cassandra/db/commitlog/CommitLogReadHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.commitlog.CommitLogDescriptor descriptor;
descriptor: Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.io.util.RandomAccessReader reader;
descriptor: Lorg/apache/cassandra/io/util/RandomAccessReader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.commitlog.CommitLogSegmentReader$Segmenter segmenter;
descriptor: Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$Segmenter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean tolerateTruncation;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected int end;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected void <init>(org.apache.cassandra.db.commitlog.CommitLogReadHandler, org.apache.cassandra.db.commitlog.CommitLogDescriptor, org.apache.cassandra.io.util.RandomAccessReader, boolean);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLogReadHandler;Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;Lorg/apache/cassandra/io/util/RandomAccessReader;Z)V
flags: (0x0004) ACC_PROTECTED
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
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader.handler:Lorg/apache/cassandra/db/commitlog/CommitLogReadHandler;
2: aload 0
aload 2
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader.descriptor:Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
3: aload 0
aload 3
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader.reader:Lorg/apache/cassandra/io/util/RandomAccessReader;
4: aload 0
iload 4
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader.tolerateTruncation:Z
5: aload 0
aload 3
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getFilePointer:()J
l2i
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader.end:I
6: aload 2
invokevirtual org.apache.cassandra.db.commitlog.CommitLogDescriptor.getEncryptionContext:()Lorg/apache/cassandra/security/EncryptionContext;
invokevirtual org.apache.cassandra.security.EncryptionContext.isEnabled:()Z
ifeq 8
7: aload 0
new org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter
dup
aload 2
aload 3
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter.<init>:(Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;Lorg/apache/cassandra/io/util/RandomAccessReader;)V
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader.segmenter:Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$Segmenter;
goto 11
8: StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegmentReader org.apache.cassandra.db.commitlog.CommitLogReadHandler org.apache.cassandra.db.commitlog.CommitLogDescriptor org.apache.cassandra.io.util.RandomAccessReader int
StackMap stack:
aload 2
getfield org.apache.cassandra.db.commitlog.CommitLogDescriptor.compression:Lorg/apache/cassandra/config/ParameterizedClass;
ifnull 10
9: aload 0
new org.apache.cassandra.db.commitlog.CommitLogSegmentReader$CompressedSegmenter
dup
aload 2
aload 3
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegmentReader$CompressedSegmenter.<init>:(Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;Lorg/apache/cassandra/io/util/RandomAccessReader;)V
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader.segmenter:Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$Segmenter;
goto 11
10: StackMap locals:
StackMap stack:
aload 0
new org.apache.cassandra.db.commitlog.CommitLogSegmentReader$NoOpSegmenter
dup
aload 3
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegmentReader$NoOpSegmenter.<init>:(Lorg/apache/cassandra/io/util/RandomAccessReader;)V
putfield org.apache.cassandra.db.commitlog.CommitLogSegmentReader.segmenter:Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$Segmenter;
11: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader;
0 12 1 handler Lorg/apache/cassandra/db/commitlog/CommitLogReadHandler;
0 12 2 descriptor Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
0 12 3 reader Lorg/apache/cassandra/io/util/RandomAccessReader;
0 12 4 tolerateTruncation Z
MethodParameters:
Name Flags
handler
descriptor
reader
tolerateTruncation
public java.util.Iterator<org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SyncSegment> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentIterator
dup
aload 0
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentIterator.<init>:(Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader;
Signature: ()Ljava/util/Iterator<Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$SyncSegment;>;
private int readSyncMarker(org.apache.cassandra.db.commitlog.CommitLogDescriptor, int, org.apache.cassandra.io.util.RandomAccessReader);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;ILorg/apache/cassandra/io/util/RandomAccessReader;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
i2l
aload 3
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.length:()J
ldc 8
lsub
lcmp
ifle 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 3
iload 2
i2l
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.seek:(J)V
3: new java.util.zip.CRC32
dup
invokespecial java.util.zip.CRC32.<init>:()V
astore 4
start local 4 4: aload 4
aload 1
getfield org.apache.cassandra.db.commitlog.CommitLogDescriptor.id:J
ldc 4294967295
land
l2i
invokestatic org.apache.cassandra.utils.FBUtilities.updateChecksumInt:(Ljava/util/zip/Checksum;I)V
5: aload 4
aload 1
getfield org.apache.cassandra.db.commitlog.CommitLogDescriptor.id:J
bipush 32
lushr
l2i
invokestatic org.apache.cassandra.utils.FBUtilities.updateChecksumInt:(Ljava/util/zip/Checksum;I)V
6: aload 4
aload 3
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getPosition:()J
l2i
invokestatic org.apache.cassandra.utils.FBUtilities.updateChecksumInt:(Ljava/util/zip/Checksum;I)V
7: aload 3
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.readInt:()I
istore 5
start local 5 8: aload 3
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.readInt:()I
i2l
ldc 4294967295
land
lstore 6
start local 6 9: aload 4
invokevirtual java.util.zip.CRC32.getValue:()J
lload 6
lcmp
ifeq 16
10: iload 5
ifne 11
lload 6
lconst_0
lcmp
ifeq 15
11: StackMap locals: java.util.zip.CRC32 int long
StackMap stack:
ldc "Encountered bad header at position %d of commit log %s, with invalid CRC. The end of segment marker should be zero."
iconst_2
anewarray java.lang.Object
dup
iconst_0
12: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getPath:()Ljava/lang/String;
aastore
13: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 8
start local 8 14: new org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentReadException
dup
aload 8
iconst_1
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentReadException.<init>:(Ljava/lang/String;Z)V
athrow
end local 8 15: StackMap locals:
StackMap stack:
iconst_m1
ireturn
16: StackMap locals:
StackMap stack:
iload 5
iload 2
if_icmplt 17
iload 5
i2l
aload 3
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.length:()J
lcmp
ifle 19
17: StackMap locals:
StackMap stack:
ldc "Encountered bad header at position %d of commit log %s, with bad position but valid CRC"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getPath:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 8
start local 8 18: new org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentReadException
dup
aload 8
iconst_0
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentReadException.<init>:(Ljava/lang/String;Z)V
athrow
end local 8 19: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader;
0 20 1 descriptor Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
0 20 2 offset I
0 20 3 reader Lorg/apache/cassandra/io/util/RandomAccessReader;
4 20 4 crc Ljava/util/zip/CRC32;
8 20 5 end I
9 20 6 filecrc J
14 15 8 msg Ljava/lang/String;
18 19 8 msg Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
descriptor
offset
reader
}
Signature: Ljava/lang/Object;Ljava/lang/Iterable<Lorg/apache/cassandra/db/commitlog/CommitLogSegmentReader$SyncSegment;>;
SourceFile: "CommitLogSegmentReader.java"
NestMembers:
org.apache.cassandra.db.commitlog.CommitLogSegmentReader$CompressedSegmenter org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter org.apache.cassandra.db.commitlog.CommitLogSegmentReader$NoOpSegmenter org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentIterator org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentReadException org.apache.cassandra.db.commitlog.CommitLogSegmentReader$Segmenter org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SyncSegment
InnerClasses:
CompressedSegmenter = org.apache.cassandra.db.commitlog.CommitLogSegmentReader$CompressedSegmenter of org.apache.cassandra.db.commitlog.CommitLogSegmentReader
EncryptedSegmenter = org.apache.cassandra.db.commitlog.CommitLogSegmentReader$EncryptedSegmenter of org.apache.cassandra.db.commitlog.CommitLogSegmentReader
NoOpSegmenter = org.apache.cassandra.db.commitlog.CommitLogSegmentReader$NoOpSegmenter of org.apache.cassandra.db.commitlog.CommitLogSegmentReader
protected SegmentIterator = org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentIterator of org.apache.cassandra.db.commitlog.CommitLogSegmentReader
public SegmentReadException = org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SegmentReadException of org.apache.cassandra.db.commitlog.CommitLogSegmentReader
abstract Segmenter = org.apache.cassandra.db.commitlog.CommitLogSegmentReader$Segmenter of org.apache.cassandra.db.commitlog.CommitLogSegmentReader
public SyncSegment = org.apache.cassandra.db.commitlog.CommitLogSegmentReader$SyncSegment of org.apache.cassandra.db.commitlog.CommitLogSegmentReader