public class org.apache.cassandra.io.util.LimitingRebufferer implements org.apache.cassandra.io.util.Rebufferer, org.apache.cassandra.io.util.Rebufferer$BufferHolder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.io.util.LimitingRebufferer
super_class: java.lang.Object
{
private final org.apache.cassandra.io.util.Rebufferer wrapped;
descriptor: Lorg/apache/cassandra/io/util/Rebufferer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.google.common.util.concurrent.RateLimiter limiter;
descriptor: Lcom/google/common/util/concurrent/RateLimiter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int limitQuant;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.apache.cassandra.io.util.Rebufferer$BufferHolder bufferHolder;
descriptor: Lorg/apache/cassandra/io/util/Rebufferer$BufferHolder;
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer buffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private long offset;
descriptor: J
flags: (0x0002) ACC_PRIVATE
public void <init>(org.apache.cassandra.io.util.Rebufferer, com.google.common.util.concurrent.RateLimiter, int);
descriptor: (Lorg/apache/cassandra/io/util/Rebufferer;Lcom/google/common/util/concurrent/RateLimiter;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.io.util.LimitingRebufferer.wrapped:Lorg/apache/cassandra/io/util/Rebufferer;
2: aload 0
aload 2
putfield org.apache.cassandra.io.util.LimitingRebufferer.limiter:Lcom/google/common/util/concurrent/RateLimiter;
3: aload 0
iload 3
putfield org.apache.cassandra.io.util.LimitingRebufferer.limitQuant:I
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/io/util/LimitingRebufferer;
0 5 1 wrapped Lorg/apache/cassandra/io/util/Rebufferer;
0 5 2 limiter Lcom/google/common/util/concurrent/RateLimiter;
0 5 3 limitQuant I
MethodParameters:
Name Flags
wrapped
limiter
limitQuant
public org.apache.cassandra.io.util.Rebufferer$BufferHolder rebuffer(long);
descriptor: (J)Lorg/apache/cassandra/io/util/Rebufferer$BufferHolder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.wrapped:Lorg/apache/cassandra/io/util/Rebufferer;
lload 1
invokeinterface org.apache.cassandra.io.util.Rebufferer.rebuffer:(J)Lorg/apache/cassandra/io/util/Rebufferer$BufferHolder;
putfield org.apache.cassandra.io.util.LimitingRebufferer.bufferHolder:Lorg/apache/cassandra/io/util/Rebufferer$BufferHolder;
1: aload 0
aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.bufferHolder:Lorg/apache/cassandra/io/util/Rebufferer$BufferHolder;
invokeinterface org.apache.cassandra.io.util.Rebufferer$BufferHolder.buffer:()Ljava/nio/ByteBuffer;
putfield org.apache.cassandra.io.util.LimitingRebufferer.buffer:Ljava/nio/ByteBuffer;
2: aload 0
aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.bufferHolder:Lorg/apache/cassandra/io/util/Rebufferer$BufferHolder;
invokeinterface org.apache.cassandra.io.util.Rebufferer$BufferHolder.offset:()J
putfield org.apache.cassandra.io.util.LimitingRebufferer.offset:J
3: lload 1
aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.offset:J
lsub
invokestatic com.google.common.primitives.Ints.checkedCast:(J)I
istore 3
start local 3 4: aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
iload 3
isub
istore 4
start local 4 5: iload 4
ifne 7
6: aload 0
areturn
7: StackMap locals: int int
StackMap stack:
iload 4
aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.limitQuant:I
if_icmple 10
8: aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.buffer:Ljava/nio/ByteBuffer;
iload 3
aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.limitQuant:I
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
9: aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.limitQuant:I
istore 4
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.limiter:Lcom/google/common/util/concurrent/RateLimiter;
iload 4
invokevirtual com.google.common.util.concurrent.RateLimiter.acquire:(I)D
pop2
11: aload 0
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/io/util/LimitingRebufferer;
0 12 1 position J
4 12 3 posInBuffer I
5 12 4 remaining I
MethodParameters:
Name Flags
position
public org.apache.cassandra.io.util.ChannelProxy channel();
descriptor: ()Lorg/apache/cassandra/io/util/ChannelProxy;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.wrapped:Lorg/apache/cassandra/io/util/Rebufferer;
invokeinterface org.apache.cassandra.io.util.Rebufferer.channel:()Lorg/apache/cassandra/io/util/ChannelProxy;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/LimitingRebufferer;
public long fileLength();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.wrapped:Lorg/apache/cassandra/io/util/Rebufferer;
invokeinterface org.apache.cassandra.io.util.Rebufferer.fileLength:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/LimitingRebufferer;
public double getCrcCheckChance();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.wrapped:Lorg/apache/cassandra/io/util/Rebufferer;
invokeinterface org.apache.cassandra.io.util.Rebufferer.getCrcCheckChance:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/LimitingRebufferer;
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.LimitingRebufferer.wrapped:Lorg/apache/cassandra/io/util/Rebufferer;
invokeinterface org.apache.cassandra.io.util.Rebufferer.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/LimitingRebufferer;
public void closeReader();
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.LimitingRebufferer.wrapped:Lorg/apache/cassandra/io/util/Rebufferer;
invokeinterface org.apache.cassandra.io.util.Rebufferer.closeReader:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/LimitingRebufferer;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "LimitingRebufferer["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.limiter:Lcom/google/common/util/concurrent/RateLimiter;
invokevirtual com.google.common.util.concurrent.RateLimiter.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.wrapped:Lorg/apache/cassandra/io/util/Rebufferer;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/LimitingRebufferer;
public java.nio.ByteBuffer buffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.buffer:Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/LimitingRebufferer;
public long offset();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.LimitingRebufferer.offset:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/LimitingRebufferer;
public void release();
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.LimitingRebufferer.bufferHolder:Lorg/apache/cassandra/io/util/Rebufferer$BufferHolder;
invokeinterface org.apache.cassandra.io.util.Rebufferer$BufferHolder.release:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/LimitingRebufferer;
}
SourceFile: "LimitingRebufferer.java"
InnerClasses:
public abstract BufferHolder = org.apache.cassandra.io.util.Rebufferer$BufferHolder of org.apache.cassandra.io.util.Rebufferer