public class org.apache.cassandra.transport.FrameCompressor$LZ4Compressor implements org.apache.cassandra.transport.FrameCompressor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.transport.FrameCompressor$LZ4Compressor
super_class: java.lang.Object
{
public static final org.apache.cassandra.transport.FrameCompressor$LZ4Compressor instance;
descriptor: Lorg/apache/cassandra/transport/FrameCompressor$LZ4Compressor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final int INTEGER_BYTES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private final net.jpountz.lz4.LZ4Compressor compressor;
descriptor: Lnet/jpountz/lz4/LZ4Compressor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final net.jpountz.lz4.LZ4Decompressor decompressor;
descriptor: Lnet/jpountz/lz4/LZ4Decompressor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.apache.cassandra.transport.FrameCompressor$LZ4Compressor
dup
invokespecial org.apache.cassandra.transport.FrameCompressor$LZ4Compressor.<init>:()V
putstatic org.apache.cassandra.transport.FrameCompressor$LZ4Compressor.instance:Lorg/apache/cassandra/transport/FrameCompressor$LZ4Compressor;
1: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: invokestatic net.jpountz.lz4.LZ4Factory.fastestInstance:()Lnet/jpountz/lz4/LZ4Factory;
astore 1
start local 1 2: aload 0
aload 1
invokevirtual net.jpountz.lz4.LZ4Factory.fastCompressor:()Lnet/jpountz/lz4/LZ4Compressor;
putfield org.apache.cassandra.transport.FrameCompressor$LZ4Compressor.compressor:Lnet/jpountz/lz4/LZ4Compressor;
3: aload 0
aload 1
invokevirtual net.jpountz.lz4.LZ4Factory.decompressor:()Lnet/jpountz/lz4/LZ4Decompressor;
putfield org.apache.cassandra.transport.FrameCompressor$LZ4Compressor.decompressor:Lnet/jpountz/lz4/LZ4Decompressor;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/transport/FrameCompressor$LZ4Compressor;
2 5 1 lz4Factory Lnet/jpountz/lz4/LZ4Factory;
public org.apache.cassandra.transport.Frame compress(org.apache.cassandra.transport.Frame);
descriptor: (Lorg/apache/cassandra/transport/Frame;)Lorg/apache/cassandra/transport/Frame;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=2
start local 0 start local 1 0: aload 1
getfield org.apache.cassandra.transport.Frame.body:Lio/netty/buffer/ByteBuf;
invokestatic org.apache.cassandra.transport.CBUtil.readRawBytes:(Lio/netty/buffer/ByteBuf;)[B
astore 2
start local 2 1: aload 0
getfield org.apache.cassandra.transport.FrameCompressor$LZ4Compressor.compressor:Lnet/jpountz/lz4/LZ4Compressor;
aload 2
arraylength
invokevirtual net.jpountz.lz4.LZ4Compressor.maxCompressedLength:(I)I
istore 3
start local 3 2: getstatic org.apache.cassandra.transport.CBUtil.allocator:Lio/netty/buffer/ByteBufAllocator;
iconst_4
iload 3
iadd
invokeinterface io.netty.buffer.ByteBufAllocator.heapBuffer:(I)Lio/netty/buffer/ByteBuf;
astore 4
start local 4 3: aload 4
invokevirtual io.netty.buffer.ByteBuf.array:()[B
astore 5
start local 5 4: aload 4
invokevirtual io.netty.buffer.ByteBuf.arrayOffset:()I
istore 6
start local 6 5: aload 5
iload 6
iconst_0
iadd
aload 2
arraylength
bipush 24
iushr
i2b
bastore
6: aload 5
iload 6
iconst_1
iadd
aload 2
arraylength
bipush 16
iushr
i2b
bastore
7: aload 5
iload 6
iconst_2
iadd
aload 2
arraylength
bipush 8
iushr
i2b
bastore
8: aload 5
iload 6
iconst_3
iadd
aload 2
arraylength
i2b
bastore
9: aload 0
getfield org.apache.cassandra.transport.FrameCompressor$LZ4Compressor.compressor:Lnet/jpountz/lz4/LZ4Compressor;
aload 2
iconst_0
aload 2
arraylength
aload 5
iload 6
iconst_4
iadd
iload 3
invokevirtual net.jpountz.lz4.LZ4Compressor.compress:([BII[BII)I
istore 7
start local 7 10: aload 4
iconst_4
iload 7
iadd
invokevirtual io.netty.buffer.ByteBuf.writerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
11: aload 1
aload 4
invokevirtual org.apache.cassandra.transport.Frame.with:(Lio/netty/buffer/ByteBuf;)Lorg/apache/cassandra/transport/Frame;
astore 9
12: aload 1
invokevirtual org.apache.cassandra.transport.Frame.release:()Z
pop
13: aload 9
areturn
end local 7 14: StackMap locals: org.apache.cassandra.transport.FrameCompressor$LZ4Compressor org.apache.cassandra.transport.Frame byte[] int io.netty.buffer.ByteBuf byte[] int
StackMap stack: java.lang.Throwable
astore 7
start local 7 15: aload 4
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
16: aload 7
athrow
end local 7 17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
18: aload 1
invokevirtual org.apache.cassandra.transport.Frame.release:()Z
pop
19: aload 8
athrow
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/transport/FrameCompressor$LZ4Compressor;
0 20 1 frame Lorg/apache/cassandra/transport/Frame;
1 20 2 input [B
2 20 3 maxCompressedLength I
3 20 4 outputBuf Lio/netty/buffer/ByteBuf;
4 20 5 output [B
5 20 6 outputOffset I
10 14 7 written I
15 17 7 e Ljava/lang/Throwable;
Exception table:
from to target type
9 12 14 Class java.lang.Throwable
9 12 17 any
14 17 17 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
public org.apache.cassandra.transport.Frame decompress(org.apache.cassandra.transport.Frame);
descriptor: (Lorg/apache/cassandra/transport/Frame;)Lorg/apache/cassandra/transport/Frame;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
getfield org.apache.cassandra.transport.Frame.body:Lio/netty/buffer/ByteBuf;
invokestatic org.apache.cassandra.transport.CBUtil.readRawBytes:(Lio/netty/buffer/ByteBuf;)[B
astore 2
start local 2 1: aload 2
iconst_0
baload
sipush 255
iand
bipush 24
ishl
2: aload 2
iconst_1
baload
sipush 255
iand
bipush 16
ishl
3: ior
4: aload 2
iconst_2
baload
sipush 255
iand
bipush 8
ishl
5: ior
6: aload 2
iconst_3
baload
sipush 255
iand
7: ior
istore 3
start local 3 8: getstatic org.apache.cassandra.transport.CBUtil.allocator:Lio/netty/buffer/ByteBufAllocator;
iload 3
invokeinterface io.netty.buffer.ByteBufAllocator.heapBuffer:(I)Lio/netty/buffer/ByteBuf;
astore 4
start local 4 9: aload 0
getfield org.apache.cassandra.transport.FrameCompressor$LZ4Compressor.decompressor:Lnet/jpountz/lz4/LZ4Decompressor;
aload 2
iconst_4
aload 4
invokevirtual io.netty.buffer.ByteBuf.array:()[B
aload 4
invokevirtual io.netty.buffer.ByteBuf.arrayOffset:()I
iload 3
invokeinterface net.jpountz.lz4.LZ4Decompressor.decompress:([BI[BII)I
istore 5
start local 5 10: iload 5
aload 2
arraylength
iconst_4
isub
if_icmpeq 12
11: new java.io.IOException
dup
ldc "Compressed lengths mismatch"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: org.apache.cassandra.transport.FrameCompressor$LZ4Compressor org.apache.cassandra.transport.Frame byte[] int io.netty.buffer.ByteBuf int
StackMap stack:
aload 4
iload 3
invokevirtual io.netty.buffer.ByteBuf.writerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
13: aload 1
aload 4
invokevirtual org.apache.cassandra.transport.Frame.with:(Lio/netty/buffer/ByteBuf;)Lorg/apache/cassandra/transport/Frame;
astore 7
14: aload 1
invokevirtual org.apache.cassandra.transport.Frame.release:()Z
pop
15: aload 7
areturn
end local 5 16: StackMap locals: org.apache.cassandra.transport.FrameCompressor$LZ4Compressor org.apache.cassandra.transport.Frame byte[] int io.netty.buffer.ByteBuf
StackMap stack: java.lang.Throwable
astore 5
start local 5 17: aload 4
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
18: aload 5
athrow
end local 5 19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
20: aload 1
invokevirtual org.apache.cassandra.transport.Frame.release:()Z
pop
21: aload 6
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/cassandra/transport/FrameCompressor$LZ4Compressor;
0 22 1 frame Lorg/apache/cassandra/transport/Frame;
1 22 2 input [B
8 22 3 uncompressedLength I
9 22 4 output Lio/netty/buffer/ByteBuf;
10 16 5 read I
17 19 5 e Ljava/lang/Throwable;
Exception table:
from to target type
9 14 16 Class java.lang.Throwable
9 14 19 any
16 19 19 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
}
SourceFile: "FrameCompressor.java"
NestHost: org.apache.cassandra.transport.FrameCompressor
InnerClasses:
public LZ4Compressor = org.apache.cassandra.transport.FrameCompressor$LZ4Compressor of org.apache.cassandra.transport.FrameCompressor