public class org.apache.cassandra.io.util.CompressedChunkReader$Mmap extends org.apache.cassandra.io.util.CompressedChunkReader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.io.util.CompressedChunkReader$Mmap
super_class: org.apache.cassandra.io.util.CompressedChunkReader
{
protected final org.apache.cassandra.io.util.MmappedRegions regions;
descriptor: Lorg/apache/cassandra/io/util/MmappedRegions;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
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/io/util/CompressedChunkReader;
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.io.util.CompressedChunkReader$Mmap.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.cassandra.io.util.ChannelProxy, org.apache.cassandra.io.compress.CompressionMetadata, org.apache.cassandra.io.util.MmappedRegions);
descriptor: (Lorg/apache/cassandra/io/util/ChannelProxy;Lorg/apache/cassandra/io/compress/CompressionMetadata;Lorg/apache/cassandra/io/util/MmappedRegions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial org.apache.cassandra.io.util.CompressedChunkReader.<init>:(Lorg/apache/cassandra/io/util/ChannelProxy;Lorg/apache/cassandra/io/compress/CompressionMetadata;)V
1: aload 0
aload 3
putfield org.apache.cassandra.io.util.CompressedChunkReader$Mmap.regions:Lorg/apache/cassandra/io/util/MmappedRegions;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/util/CompressedChunkReader$Mmap;
0 3 1 channel Lorg/apache/cassandra/io/util/ChannelProxy;
0 3 2 metadata Lorg/apache/cassandra/io/compress/CompressionMetadata;
0 3 3 regions Lorg/apache/cassandra/io/util/MmappedRegions;
MethodParameters:
Name Flags
channel
metadata
regions
public void readChunk(long, java.nio.ByteBuffer);
descriptor: (JLjava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 3 0: getstatic org.apache.cassandra.io.util.CompressedChunkReader$Mmap.$assertionsDisabled:Z
ifne 1
lload 1
aload 3
invokevirtual java.nio.ByteBuffer.capacity:()I
ineg
i2l
land
lload 1
lcmp
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.io.util.CompressedChunkReader$Mmap.$assertionsDisabled:Z
ifne 2
lload 1
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Mmap.fileLength:J
lcmp
ifle 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Mmap.metadata:Lorg/apache/cassandra/io/compress/CompressionMetadata;
lload 1
invokevirtual org.apache.cassandra.io.compress.CompressionMetadata.chunkFor:(J)Lorg/apache/cassandra/io/compress/CompressionMetadata$Chunk;
astore 4
start local 4 3: aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Mmap.regions:Lorg/apache/cassandra/io/util/MmappedRegions;
aload 4
getfield org.apache.cassandra.io.compress.CompressionMetadata$Chunk.offset:J
invokevirtual org.apache.cassandra.io.util.MmappedRegions.floor:(J)Lorg/apache/cassandra/io/util/MmappedRegions$Region;
astore 5
start local 5 4: aload 5
invokevirtual org.apache.cassandra.io.util.MmappedRegions$Region.offset:()J
lstore 6
start local 6 5: aload 4
getfield org.apache.cassandra.io.compress.CompressionMetadata$Chunk.offset:J
lload 6
lsub
invokestatic com.google.common.primitives.Ints.checkedCast:(J)I
istore 8
start local 8 6: aload 5
invokevirtual org.apache.cassandra.io.util.MmappedRegions$Region.buffer:()Ljava/nio/ByteBuffer;
astore 9
start local 9 7: aload 9
iload 8
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
iload 8
aload 4
getfield org.apache.cassandra.io.compress.CompressionMetadata$Chunk.length:I
iadd
invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
pop
8: aload 3
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
9: aload 0
invokevirtual org.apache.cassandra.io.util.CompressedChunkReader$Mmap.shouldCheckCrc:()Z
ifeq 15
10: aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Mmap.metadata:Lorg/apache/cassandra/io/compress/CompressionMetadata;
getfield org.apache.cassandra.io.compress.CompressionMetadata.checksumType:Lorg/apache/cassandra/utils/ChecksumType;
aload 9
invokevirtual org.apache.cassandra.utils.ChecksumType.of:(Ljava/nio/ByteBuffer;)J
l2i
istore 10
start local 10 11: aload 9
aload 9
invokevirtual java.nio.ByteBuffer.capacity:()I
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
12: aload 9
invokevirtual java.nio.ByteBuffer.getInt:()I
iload 10
if_icmpeq 14
13: new org.apache.cassandra.io.compress.CorruptBlockException
dup
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Mmap.channel:Lorg/apache/cassandra/io/util/ChannelProxy;
invokevirtual org.apache.cassandra.io.util.ChannelProxy.filePath:()Ljava/lang/String;
aload 4
invokespecial org.apache.cassandra.io.compress.CorruptBlockException.<init>:(Ljava/lang/String;Lorg/apache/cassandra/io/compress/CompressionMetadata$Chunk;)V
athrow
14: StackMap locals: org.apache.cassandra.io.util.CompressedChunkReader$Mmap long java.nio.ByteBuffer org.apache.cassandra.io.compress.CompressionMetadata$Chunk org.apache.cassandra.io.util.MmappedRegions$Region long int java.nio.ByteBuffer int
StackMap stack:
aload 9
iload 8
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
iload 8
aload 4
getfield org.apache.cassandra.io.compress.CompressionMetadata$Chunk.length:I
iadd
invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
pop
end local 10 15: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Mmap.metadata:Lorg/apache/cassandra/io/compress/CompressionMetadata;
invokevirtual org.apache.cassandra.io.compress.CompressionMetadata.compressor:()Lorg/apache/cassandra/io/compress/ICompressor;
aload 9
aload 3
invokeinterface org.apache.cassandra.io.compress.ICompressor.uncompress:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
16: goto 22
17: StackMap locals:
StackMap stack: java.io.IOException
astore 10
start local 10 18: new org.apache.cassandra.io.compress.CorruptBlockException
dup
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Mmap.channel:Lorg/apache/cassandra/io/util/ChannelProxy;
invokevirtual org.apache.cassandra.io.util.ChannelProxy.filePath:()Ljava/lang/String;
aload 4
aload 10
invokespecial org.apache.cassandra.io.compress.CorruptBlockException.<init>:(Ljava/lang/String;Lorg/apache/cassandra/io/compress/CompressionMetadata$Chunk;Ljava/lang/Throwable;)V
athrow
end local 10 19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
20: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
21: aload 11
athrow
22: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
end local 9 end local 8 end local 6 end local 5 end local 4 23: goto 26
24: StackMap locals: org.apache.cassandra.io.util.CompressedChunkReader$Mmap long java.nio.ByteBuffer
StackMap stack: org.apache.cassandra.io.compress.CorruptBlockException
astore 4
start local 4 25: new org.apache.cassandra.io.sstable.CorruptSSTableException
dup
aload 4
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Mmap.channel:Lorg/apache/cassandra/io/util/ChannelProxy;
invokevirtual org.apache.cassandra.io.util.ChannelProxy.filePath:()Ljava/lang/String;
invokespecial org.apache.cassandra.io.sstable.CorruptSSTableException.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 4 26: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/apache/cassandra/io/util/CompressedChunkReader$Mmap;
0 27 1 position J
0 27 3 uncompressed Ljava/nio/ByteBuffer;
3 23 4 chunk Lorg/apache/cassandra/io/compress/CompressionMetadata$Chunk;
4 23 5 region Lorg/apache/cassandra/io/util/MmappedRegions$Region;
5 23 6 segmentOffset J
6 23 8 chunkOffset I
7 23 9 compressedChunk Ljava/nio/ByteBuffer;
11 15 10 checksum I
18 19 10 e Ljava/io/IOException;
25 26 4 e Lorg/apache/cassandra/io/compress/CorruptBlockException;
Exception table:
from to target type
15 16 17 Class java.io.IOException
15 19 19 any
0 23 24 Class org.apache.cassandra.io.compress.CorruptBlockException
MethodParameters:
Name Flags
position
uncompressed
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Mmap.regions:Lorg/apache/cassandra/io/util/MmappedRegions;
invokevirtual org.apache.cassandra.io.util.MmappedRegions.closeQuietly:()V
1: aload 0
invokespecial org.apache.cassandra.io.util.CompressedChunkReader.close:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/util/CompressedChunkReader$Mmap;
}
SourceFile: "CompressedChunkReader.java"
NestHost: org.apache.cassandra.io.util.CompressedChunkReader
InnerClasses:
public Chunk = org.apache.cassandra.io.compress.CompressionMetadata$Chunk of org.apache.cassandra.io.compress.CompressionMetadata
public Mmap = org.apache.cassandra.io.util.CompressedChunkReader$Mmap of org.apache.cassandra.io.util.CompressedChunkReader
public final Region = org.apache.cassandra.io.util.MmappedRegions$Region of org.apache.cassandra.io.util.MmappedRegions