public class org.apache.cassandra.io.util.RewindableDataInputStreamPlus extends java.io.FilterInputStream implements org.apache.cassandra.io.util.RewindableDataInput, java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.io.util.RewindableDataInputStreamPlus
super_class: java.io.FilterInputStream
{
private boolean marked;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean exhausted;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.AtomicBoolean closed;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0002) ACC_PRIVATE
protected int memAvailable;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int diskTailAvailable;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int diskHeadAvailable;
descriptor: I
flags: (0x0004) ACC_PROTECTED
private final java.io.File spillFile;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int initialMemBufferSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int maxMemBufferSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int maxDiskBufferSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile byte[] memBuffer;
descriptor: [B
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private int memBufferSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.io.RandomAccessFile spillBuffer;
descriptor: Ljava/io/RandomAccessFile;
flags: (0x0002) ACC_PRIVATE
private final org.apache.cassandra.io.util.DataInputPlus dataReader;
descriptor: Lorg/apache/cassandra/io/util/DataInputPlus;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.io.InputStream, int, int, java.io.File, int);
descriptor: (Ljava/io/InputStream;IILjava/io/File;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokespecial java.io.FilterInputStream.<init>:(Ljava/io/InputStream;)V
1: aload 0
iconst_0
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.marked:Z
2: aload 0
iconst_0
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.exhausted:Z
3: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.closed:Ljava/util/concurrent/atomic/AtomicBoolean;
4: aload 0
iconst_0
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
5: aload 0
iconst_0
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
6: aload 0
iconst_0
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
7: aload 0
new org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus
dup
aload 0
invokespecial org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.<init>:(Ljava/io/InputStream;)V
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
8: aload 0
iload 2
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.initialMemBufferSize:I
9: aload 0
iload 3
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxMemBufferSize:I
10: aload 0
aload 4
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillFile:Ljava/io/File;
11: aload 0
iload 5
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxDiskBufferSize:I
12: return
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 13 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 13 1 in Ljava/io/InputStream;
0 13 2 initialMemBufferSize I
0 13 3 maxMemBufferSize I
0 13 4 spillFile Ljava/io/File;
0 13 5 maxDiskBufferSize I
MethodParameters:
Name Flags
in
initialMemBufferSize
maxMemBufferSize
spillFile
maxDiskBufferSize
public org.apache.cassandra.io.util.DataPosition mark();
descriptor: ()Lorg/apache/cassandra/io/util/DataPosition;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.mark:(I)V
1: new org.apache.cassandra.io.util.RewindableDataInputStreamPlus$RewindableDataInputPlusMark
dup
invokespecial org.apache.cassandra.io.util.RewindableDataInputStreamPlus$RewindableDataInputPlusMark.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
public void reset(org.apache.cassandra.io.util.DataPosition);
descriptor: (Lorg/apache/cassandra/io/util/DataPosition;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.reset:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 2 1 mark Lorg/apache/cassandra/io/util/DataPosition;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mark
public long bytesPastMark(org.apache.cassandra.io.util.DataPosition);
descriptor: (Lorg/apache/cassandra/io/util/DataPosition;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxMemBufferSize:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
isub
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iconst_m1
if_icmpne 1
iconst_0
goto 2
StackMap locals:
StackMap stack: int
1: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxDiskBufferSize:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
isub
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
isub
StackMap locals: org.apache.cassandra.io.util.RewindableDataInputStreamPlus org.apache.cassandra.io.util.DataPosition
StackMap stack: int int
2: iadd
i2l
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 3 1 mark Lorg/apache/cassandra/io/util/DataPosition;
MethodParameters:
Name Flags
mark
public boolean markSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
public synchronized void mark(int);
descriptor: (I)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.marked:Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "Cannot mark already marked stream."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
ifgt 3
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
ifgt 3
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifle 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Can only mark stream after reading previously marked data."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.marked:Z
5: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxMemBufferSize:I
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
6: aload 0
iconst_m1
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
7: aload 0
iconst_m1
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 9 1 readlimit I
MethodParameters:
Name Flags
readlimit
public synchronized void reset();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=8, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.marked:Z
ifne 2
1: new java.io.IOException
dup
ldc "Must call mark() before calling reset()."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.exhausted:Z
ifeq 4
3: new java.io.IOException
dup
ldc "Read more than capacity: %d bytes."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxMemBufferSize:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxDiskBufferSize:I
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxMemBufferSize:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
5: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBufferSize:I
6: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iconst_m1
if_icmpne 10
7: aload 0
iconst_0
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
8: aload 0
iconst_0
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
9: goto 17
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifle 11
iconst_0
goto 12
StackMap locals:
StackMap stack:
11: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.RandomAccessFile
invokevirtual java.io.RandomAccessFile.getFilePointer:()J
l2i
StackMap locals:
StackMap stack: int
12: istore 1
start local 1 13: iload 1
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
iadd
istore 2
start local 2 14: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.RandomAccessFile
iload 2
i2l
invokevirtual java.io.RandomAccessFile.seek:(J)V
15: aload 0
iload 2
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
16: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxDiskBufferSize:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
isub
iload 2
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
end local 2 end local 1 17: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.marked:Z
18: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
13 17 1 initialPos I
14 17 2 diskMarkpos I
Exceptions:
throws java.io.IOException
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.io.FilterInputStream.available:()I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.marked:Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack: int
1: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
iadd
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iadd
StackMap locals: org.apache.cassandra.io.util.RewindableDataInputStreamPlus
StackMap stack: int int
2: iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.readOne:()I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 3
2: iload 1
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.marked:Z
ifeq 8
4: aload 0
iconst_1
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.isExhausted:(I)Z
ifeq 7
5: aload 0
iconst_1
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.exhausted:Z
6: iload 1
ireturn
7: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.writeOne:(I)V
8: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
1 9 1 read I
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.readMulti:([BII)I
istore 4
start local 4 1: iload 4
iconst_m1
if_icmpne 3
2: iload 4
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.marked:Z
ifeq 8
4: aload 0
iload 4
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.isExhausted:(I)Z
ifeq 7
5: aload 0
iconst_1
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.exhausted:Z
6: iload 4
ireturn
7: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 4
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.writeMulti:([BII)V
8: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 9 1 b [B
0 9 2 off I
0 9 3 len I
1 9 4 readBytes I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
private void maybeCreateDiskBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
ifnonnull 5
1: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillFile:Ljava/io/File;
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifne 3
2: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillFile:Ljava/io/File;
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
invokevirtual java.io.File.mkdirs:()Z
pop
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillFile:Ljava/io/File;
invokevirtual java.io.File.createNewFile:()Z
pop
4: aload 0
new java.io.RandomAccessFile
dup
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillFile:Ljava/io/File;
ldc "rw"
invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
private int readOne();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.marked:Z
ifne 14
1: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
ifle 5
2: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBufferSize:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
isub
istore 1
start local 1 3: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
iconst_1
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
4: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
iload 1
baload
sipush 255
iand
ireturn
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifgt 6
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
ifle 14
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.RandomAccessFile
invokevirtual java.io.RandomAccessFile.read:()I
istore 1
start local 1 7: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifle 9
8: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iconst_1
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
goto 11
9: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
ifle 11
10: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
iconst_1
iadd
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
11: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifne 13
12: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
lconst_0
invokevirtual java.io.RandomAccessFile.seek:(J)V
13: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.in:Ljava/io/InputStream;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.InputStream
invokevirtual java.io.InputStream.read:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
3 5 1 pos I
7 14 1 read I
Exceptions:
throws java.io.IOException
private boolean isExhausted(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.exhausted:Z
ifne 3
iload 1
i2l
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
i2l
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iconst_m1
if_icmpne 1
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxDiskBufferSize:I
goto 2
StackMap locals: org.apache.cassandra.io.util.RewindableDataInputStreamPlus int
StackMap stack: long long
1: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
iadd
StackMap locals: org.apache.cassandra.io.util.RewindableDataInputStreamPlus int
StackMap stack: long long int
2: i2l
ladd
lcmp
ifgt 3
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 4 1 readBytes I
MethodParameters:
Name Flags
readBytes
private int readMulti(byte[], int, int);
descriptor: ([BII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.marked:Z
ifne 31
2: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
ifle 11
3: iload 4
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
iload 3
if_icmpge 4
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
goto 5
StackMap locals: org.apache.cassandra.io.util.RewindableDataInputStreamPlus byte[] int int int
StackMap stack: int
4: iload 3
StackMap locals: org.apache.cassandra.io.util.RewindableDataInputStreamPlus byte[] int int int
StackMap stack: int int
5: iadd
istore 4
6: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBufferSize:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
isub
istore 5
start local 5 7: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
iload 5
aload 1
iload 2
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
iload 4
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
9: iload 2
iload 4
iadd
istore 2
10: iload 3
iload 4
isub
istore 3
end local 5 11: StackMap locals:
StackMap stack:
iload 3
ifle 22
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifle 22
12: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iload 3
if_icmpge 13
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
goto 14
StackMap locals:
StackMap stack:
13: iload 3
StackMap locals:
StackMap stack: int
14: istore 5
start local 5 15: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.RandomAccessFile
aload 1
iload 2
iload 5
invokevirtual java.io.RandomAccessFile.read:([BII)I
istore 5
16: iload 4
iload 5
iadd
istore 4
17: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iload 5
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
18: iload 2
iload 5
iadd
istore 2
19: iload 3
iload 5
isub
istore 3
20: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifne 22
21: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
lconst_0
invokevirtual java.io.RandomAccessFile.seek:(J)V
end local 5 22: StackMap locals:
StackMap stack:
iload 3
ifle 31
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
ifle 31
23: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
iload 3
if_icmpge 24
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
goto 25
StackMap locals:
StackMap stack:
24: iload 3
StackMap locals:
StackMap stack: int
25: istore 5
start local 5 26: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.RandomAccessFile
aload 1
iload 2
iload 5
invokevirtual java.io.RandomAccessFile.read:([BII)I
istore 5
27: iload 4
iload 5
iadd
istore 4
28: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
iload 5
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
29: iload 2
iload 5
iadd
istore 2
30: iload 3
iload 5
isub
istore 3
end local 5 31: StackMap locals:
StackMap stack:
iload 3
ifle 33
32: iload 4
aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.in:Ljava/io/InputStream;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.InputStream
aload 1
iload 2
iload 3
invokevirtual java.io.InputStream.read:([BII)I
iadd
istore 4
33: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 34 1 b [B
0 34 2 off I
0 34 3 len I
1 34 4 readBytes I
7 11 5 pos I
15 22 5 readFromTail I
26 31 5 readFromHead I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
private void writeMulti(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
ifle 13
1: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
ifnonnull 3
2: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.initialMemBufferSize:I
newarray 8
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxMemBufferSize:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
isub
istore 4
start local 4 4: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
iload 3
if_icmpge 5
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
goto 6
StackMap locals: int
StackMap stack:
5: iload 3
StackMap locals:
StackMap stack: int
6: istore 5
start local 5 7: iload 4
iload 5
iadd
aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
arraylength
if_icmplt 9
8: aload 0
iload 4
iload 5
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.growMemBuffer:(II)V
9: StackMap locals: int
StackMap stack:
aload 1
iload 2
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
iload 4
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: iload 2
iload 5
iadd
istore 2
11: iload 3
iload 5
isub
istore 3
12: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
iload 5
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
end local 5 end local 4 13: StackMap locals:
StackMap stack:
iload 3
ifle 33
14: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iconst_m1
if_icmpne 18
15: aload 0
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maybeCreateDiskBuffer:()V
16: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.getFilePointer:()J
l2i
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
17: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxDiskBufferSize:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
18: StackMap locals:
StackMap stack:
iload 3
ifle 28
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifle 28
19: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iload 3
if_icmpge 20
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
goto 21
StackMap locals:
StackMap stack:
20: iload 3
StackMap locals:
StackMap stack: int
21: istore 4
start local 4 22: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.RandomAccessFile
aload 1
iload 2
iload 4
invokevirtual java.io.RandomAccessFile.write:([BII)V
23: iload 2
iload 4
iadd
istore 2
24: iload 3
iload 4
isub
istore 3
25: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iload 4
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
26: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifne 28
27: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
lconst_0
invokevirtual java.io.RandomAccessFile.seek:(J)V
end local 4 28: StackMap locals:
StackMap stack:
iload 3
ifle 33
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifle 33
29: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
iload 3
if_icmpge 30
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
goto 31
StackMap locals:
StackMap stack:
30: iload 3
StackMap locals:
StackMap stack: int
31: istore 4
start local 4 32: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.RandomAccessFile
aload 1
iload 2
iload 4
invokevirtual java.io.RandomAccessFile.write:([BII)V
end local 4 33: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 34 1 b [B
0 34 2 off I
0 34 3 len I
4 13 4 pos I
7 13 5 memWritten I
22 28 4 diskTailWritten I
32 33 4 diskHeadWritten I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
private void writeOne(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
ifle 9
1: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
ifnonnull 3
2: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.initialMemBufferSize:I
newarray 8
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxMemBufferSize:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
isub
istore 2
start local 2 4: iload 2
aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
arraylength
if_icmpne 6
5: aload 0
iload 2
iconst_1
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.growMemBuffer:(II)V
6: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
iload 2
iload 1
i2b
bastore
7: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
iconst_1
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
8: return
end local 2 9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iconst_m1
if_icmpne 13
10: aload 0
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maybeCreateDiskBuffer:()V
11: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.getFilePointer:()J
l2i
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
12: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxDiskBufferSize:I
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
13: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifgt 14
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
ifle 22
14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.RandomAccessFile
iload 1
invokevirtual java.io.RandomAccessFile.write:(I)V
15: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifle 17
16: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iconst_1
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
goto 19
17: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
ifle 19
18: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
iconst_1
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
19: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifne 21
20: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
lconst_0
invokevirtual java.io.RandomAccessFile.seek:(J)V
21: StackMap locals:
StackMap stack:
return
22: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 23 1 value I
4 9 2 pos I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
value
public int read(byte[]);
descriptor: ([B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.read:([BII)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 1 1 b [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
private void growMemBuffer(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_2
iload 1
iload 2
iadd
imul
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.maxMemBufferSize:I
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 1: iload 3
newarray 8
astore 4
start local 4 2: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
iconst_0
aload 4
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 0
aload 4
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memBuffer:[B
4: return
end local 4 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/RewindableDataInputStreamPlus;
0 5 1 pos I
0 5 2 writeSize I
1 5 3 newSize I
2 5 4 newBuffer [B
MethodParameters:
Name Flags
pos
writeSize
public long skip(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: lconst_0
lstore 3
start local 3 1: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.marked:Z
ifeq 6
2: goto 4
3: StackMap locals: long
StackMap stack:
lload 3
lconst_1
ladd
lstore 3
4: StackMap locals:
StackMap stack:
lload 1
dup2
lconst_1
lsub
lstore 1
lconst_0
lcmp
ifle 5
aload 0
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.read:()I
iconst_m1
if_icmpne 3
5: StackMap locals:
StackMap stack:
lload 3
lreturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
ifle 12
7: lload 3
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
i2l
lload 1
lcmp
ifge 8
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
i2l
goto 9
StackMap locals:
StackMap stack: long
8: lload 1
StackMap locals: org.apache.cassandra.io.util.RewindableDataInputStreamPlus long long
StackMap stack: long long
9: ladd
lstore 3
10: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
i2l
lload 3
lsub
l2i
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.memAvailable:I
11: lload 1
lload 3
lsub
lstore 1
12: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifle 22
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifle 22
13: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
i2l
lload 1
lcmp
ifge 14
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
goto 15
StackMap locals:
StackMap stack:
14: lload 1
l2i
StackMap locals:
StackMap stack: int
15: istore 5
start local 5 16: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.RandomAccessFile
iload 5
invokevirtual java.io.RandomAccessFile.skipBytes:(I)I
pop
17: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
iload 5
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
18: lload 3
iload 5
i2l
ladd
lstore 3
19: lload 1
iload 5
i2l
lsub
lstore 1
20: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskTailAvailable:I
ifne 22
21: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
lconst_0
invokevirtual java.io.RandomAccessFile.seek:(J)V
end local 5 22: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifle 30
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
ifle 30
23: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
i2l
lload 1
lcmp
ifge 24
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
goto 25
StackMap locals:
StackMap stack:
24: lload 1
l2i
StackMap locals:
StackMap stack: int
25: istore 5
start local 5 26: aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.RandomAccessFile
iload 5
invokevirtual java.io.RandomAccessFile.skipBytes:(I)I
pop
27: aload 0
dup
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
iload 5
isub
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.diskHeadAvailable:I
28: lload 3
iload 5
i2l
ladd
lstore 3
29: lload 1
iload 5
i2l
lsub
lstore 1
end local 5 30: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifle 32
31: lload 3
aload 0
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.in:Ljava/io/InputStream;
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.getIfNotClosed:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.InputStream
lload 1
invokevirtual java.io.InputStream.skip:(J)J
ladd
lstore 3
32: StackMap locals:
StackMap stack:
lload 3
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 33 1 n J
1 33 3 skipped J
16 22 5 skipFromTail I
26 30 5 skipFromHead I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
private <T> T getIfNotClosed();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.closed:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ifeq 2
1: new java.io.IOException
dup
ldc "Stream closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 3 1 in TT;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(TT;)TT;
MethodParameters:
Name Flags
in
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual org.apache.cassandra.io.util.RewindableDataInputStreamPlus.close:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public void close(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.closed:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 19
1: aconst_null
astore 2
start local 2 2: iload 1
ifeq 7
3: aload 0
invokespecial java.io.FilterInputStream.close:()V
4: goto 7
5: StackMap locals: org.apache.cassandra.io.util.RewindableDataInputStreamPlus int java.lang.Throwable
StackMap stack: java.io.IOException
astore 3
start local 3 6: aload 2
aload 3
invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 2
end local 3 7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
ifnull 13
8: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.close:()V
9: aload 0
aconst_null
putfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillBuffer:Ljava/io/RandomAccessFile;
10: goto 13
StackMap locals:
StackMap stack: java.io.IOException
11: astore 3
start local 3 12: aload 2
aload 3
invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 2
end local 3 13: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillFile:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifeq 18
14: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.spillFile:Ljava/io/File;
invokevirtual java.io.File.delete:()Z
pop
15: goto 18
16: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 17: aload 2
aload 3
invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 2
end local 3 18: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/io/IOException;
invokestatic org.apache.cassandra.utils.Throwables.maybeFail:(Ljava/lang/Throwable;Ljava/lang/Class;)V
end local 2 19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 20 1 closeUnderlying Z
2 19 2 fail Ljava/lang/Throwable;
6 7 3 e Ljava/io/IOException;
12 13 3 e Ljava/io/IOException;
17 18 3 e Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.io.IOException
7 10 11 Class java.io.IOException
13 15 16 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
closeUnderlying
public void readFully(byte[]);
descriptor: ([B)V
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.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
aload 1
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readFully:([B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 2 1 b [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
public void readFully(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
aload 1
iload 2
iload 3
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readFully:([BII)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 2 1 b [B
0 2 2 off I
0 2 3 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public int skipBytes(int);
descriptor: (I)I
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.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
iload 1
invokeinterface org.apache.cassandra.io.util.DataInputPlus.skipBytes:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
0 1 1 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
public boolean readBoolean();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readBoolean:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public byte readByte();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readByte:()B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public int readUnsignedByte();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readUnsignedByte:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public short readShort();
descriptor: ()S
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readShort:()S
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public int readUnsignedShort();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readUnsignedShort:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public char readChar();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readChar:()C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public int readInt();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readInt:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public long readLong();
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.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readLong:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public float readFloat();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readFloat:()F
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public double readDouble();
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.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readDouble:()D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public java.lang.String readLine();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readLine:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
public java.lang.String readUTF();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.RewindableDataInputStreamPlus.dataReader:Lorg/apache/cassandra/io/util/DataInputPlus;
invokeinterface org.apache.cassandra.io.util.DataInputPlus.readUTF:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/RewindableDataInputStreamPlus;
Exceptions:
throws java.io.IOException
}
SourceFile: "RewindableDataInputStreamPlus.java"
NestMembers:
org.apache.cassandra.io.util.RewindableDataInputStreamPlus$RewindableDataInputPlusMark
InnerClasses:
public DataInputStreamPlus = org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus of org.apache.cassandra.io.util.DataInputPlus
protected RewindableDataInputPlusMark = org.apache.cassandra.io.util.RewindableDataInputStreamPlus$RewindableDataInputPlusMark of org.apache.cassandra.io.util.RewindableDataInputStreamPlus