public class org.apache.cassandra.io.util.CompressedChunkReader$Standard 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$Standard
super_class: org.apache.cassandra.io.util.CompressedChunkReader
{
private final java.lang.ThreadLocal<java.nio.ByteBuffer> compressedHolder;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/nio/ByteBuffer;>;
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$Standard.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.cassandra.io.util.ChannelProxy, org.apache.cassandra.io.compress.CompressionMetadata);
descriptor: (Lorg/apache/cassandra/io/util/ChannelProxy;Lorg/apache/cassandra/io/compress/CompressionMetadata;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 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 0
invokedynamic get(Lorg/apache/cassandra/io/util/CompressedChunkReader$Standard;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/apache/cassandra/io/util/CompressedChunkReader$Standard.allocateBuffer()Ljava/nio/ByteBuffer; (5)
()Ljava/nio/ByteBuffer;
invokestatic java.lang.ThreadLocal.withInitial:(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;
putfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.compressedHolder:Ljava/lang/ThreadLocal;
2: return
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$Standard;
0 3 1 channel Lorg/apache/cassandra/io/util/ChannelProxy;
0 3 2 metadata Lorg/apache/cassandra/io/compress/CompressionMetadata;
MethodParameters:
Name Flags
channel
metadata
public java.nio.ByteBuffer allocateBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.metadata:Lorg/apache/cassandra/io/compress/CompressionMetadata;
invokevirtual org.apache.cassandra.io.compress.CompressionMetadata.compressor:()Lorg/apache/cassandra/io/compress/ICompressor;
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.metadata:Lorg/apache/cassandra/io/compress/CompressionMetadata;
invokevirtual org.apache.cassandra.io.compress.CompressionMetadata.chunkLength:()I
invokeinterface org.apache.cassandra.io.compress.ICompressor.initialCompressedBufferLength:(I)I
invokevirtual org.apache.cassandra.io.util.CompressedChunkReader$Standard.allocateBuffer:(I)Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/CompressedChunkReader$Standard;
public java.nio.ByteBuffer allocateBuffer(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.metadata:Lorg/apache/cassandra/io/compress/CompressionMetadata;
invokevirtual org.apache.cassandra.io.compress.CompressionMetadata.compressor:()Lorg/apache/cassandra/io/compress/ICompressor;
invokeinterface org.apache.cassandra.io.compress.ICompressor.preferredBufferType:()Lorg/apache/cassandra/io/compress/BufferType;
iload 1
invokevirtual org.apache.cassandra.io.compress.BufferType.allocate:(I)Ljava/nio/ByteBuffer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/CompressedChunkReader$Standard;
0 1 1 size I
MethodParameters:
Name Flags
size
public void readChunk(long, java.nio.ByteBuffer);
descriptor: (JLjava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 3 0: getstatic org.apache.cassandra.io.util.CompressedChunkReader$Standard.$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$Standard.$assertionsDisabled:Z
ifne 2
lload 1
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.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$Standard.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$Standard.compressedHolder:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 5
start local 5 4: aload 0
invokevirtual org.apache.cassandra.io.util.CompressedChunkReader$Standard.shouldCheckCrc:()Z
istore 6
start local 6 5: iload 6
ifeq 6
aload 4
getfield org.apache.cassandra.io.compress.CompressionMetadata$Chunk.length:I
iconst_4
iadd
goto 7
StackMap locals: org.apache.cassandra.io.compress.CompressionMetadata$Chunk java.nio.ByteBuffer int
StackMap stack:
6: aload 4
getfield org.apache.cassandra.io.compress.CompressionMetadata$Chunk.length:I
StackMap locals:
StackMap stack: int
7: istore 7
start local 7 8: aload 5
invokevirtual java.nio.ByteBuffer.capacity:()I
iload 7
if_icmpge 12
9: aload 0
iload 7
invokevirtual org.apache.cassandra.io.util.CompressedChunkReader$Standard.allocateBuffer:(I)Ljava/nio/ByteBuffer;
astore 5
10: aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.compressedHolder:Ljava/lang/ThreadLocal;
aload 5
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
11: goto 13
12: StackMap locals: int
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
13: StackMap locals:
StackMap stack:
aload 5
iload 7
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
14: aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.channel:Lorg/apache/cassandra/io/util/ChannelProxy;
aload 5
aload 4
getfield org.apache.cassandra.io.compress.CompressionMetadata$Chunk.offset:J
invokevirtual org.apache.cassandra.io.util.ChannelProxy.read:(Ljava/nio/ByteBuffer;J)I
iload 7
if_icmpeq 16
15: new org.apache.cassandra.io.compress.CorruptBlockException
dup
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.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
16: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
17: aload 3
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
18: aload 5
iconst_0
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
aload 4
getfield org.apache.cassandra.io.compress.CompressionMetadata$Chunk.length:I
invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
pop
19: iload 6
ifeq 25
20: aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.metadata:Lorg/apache/cassandra/io/compress/CompressionMetadata;
getfield org.apache.cassandra.io.compress.CompressionMetadata.checksumType:Lorg/apache/cassandra/utils/ChecksumType;
aload 5
invokevirtual org.apache.cassandra.utils.ChecksumType.of:(Ljava/nio/ByteBuffer;)J
l2i
istore 8
start local 8 21: aload 5
iload 7
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
22: aload 5
invokevirtual java.nio.ByteBuffer.getInt:()I
iload 8
if_icmpeq 24
23: new org.apache.cassandra.io.compress.CorruptBlockException
dup
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.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
24: StackMap locals: int
StackMap stack:
aload 5
iconst_0
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
aload 4
getfield org.apache.cassandra.io.compress.CompressionMetadata$Chunk.length:I
invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
pop
end local 8 25: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.metadata:Lorg/apache/cassandra/io/compress/CompressionMetadata;
invokevirtual org.apache.cassandra.io.compress.CompressionMetadata.compressor:()Lorg/apache/cassandra/io/compress/ICompressor;
aload 5
aload 3
invokeinterface org.apache.cassandra.io.compress.ICompressor.uncompress:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
26: goto 32
27: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 28: new org.apache.cassandra.io.compress.CorruptBlockException
dup
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.channel:Lorg/apache/cassandra/io/util/ChannelProxy;
invokevirtual org.apache.cassandra.io.util.ChannelProxy.filePath:()Ljava/lang/String;
aload 4
aload 8
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 8 29: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
30: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
31: aload 9
athrow
32: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
end local 7 end local 6 end local 5 end local 4 33: goto 36
34: StackMap locals: org.apache.cassandra.io.util.CompressedChunkReader$Standard long java.nio.ByteBuffer
StackMap stack: org.apache.cassandra.io.compress.CorruptBlockException
astore 4
start local 4 35: new org.apache.cassandra.io.sstable.CorruptSSTableException
dup
aload 4
aload 0
getfield org.apache.cassandra.io.util.CompressedChunkReader$Standard.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 36: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/apache/cassandra/io/util/CompressedChunkReader$Standard;
0 37 1 position J
0 37 3 uncompressed Ljava/nio/ByteBuffer;
3 33 4 chunk Lorg/apache/cassandra/io/compress/CompressionMetadata$Chunk;
4 33 5 compressed Ljava/nio/ByteBuffer;
5 33 6 shouldCheckCrc Z
8 33 7 length I
21 25 8 checksum I
28 29 8 e Ljava/io/IOException;
35 36 4 e Lorg/apache/cassandra/io/compress/CorruptBlockException;
Exception table:
from to target type
25 26 27 Class java.io.IOException
25 29 29 any
0 33 34 Class org.apache.cassandra.io.compress.CorruptBlockException
MethodParameters:
Name Flags
position
uncompressed
}
SourceFile: "CompressedChunkReader.java"
NestHost: org.apache.cassandra.io.util.CompressedChunkReader
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Chunk = org.apache.cassandra.io.compress.CompressionMetadata$Chunk of org.apache.cassandra.io.compress.CompressionMetadata
public Standard = org.apache.cassandra.io.util.CompressedChunkReader$Standard of org.apache.cassandra.io.util.CompressedChunkReader