public class org.apache.cassandra.service.pager.MultiPartitionPager implements org.apache.cassandra.service.pager.QueryPager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.service.pager.MultiPartitionPager
super_class: java.lang.Object
{
private final org.apache.cassandra.service.pager.SinglePartitionPager[] pagers;
descriptor: [Lorg/apache/cassandra/service/pager/SinglePartitionPager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.filter.DataLimits limit;
descriptor: Lorg/apache/cassandra/db/filter/DataLimits;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int nowInSec;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int remaining;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int current;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(org.apache.cassandra.db.SinglePartitionReadCommand$Group, org.apache.cassandra.service.pager.PagingState, org.apache.cassandra.transport.ProtocolVersion);
descriptor: (Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;Lorg/apache/cassandra/service/pager/PagingState;Lorg/apache/cassandra/transport/ProtocolVersion;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, 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
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand$Group.limits:()Lorg/apache/cassandra/db/filter/DataLimits;
putfield org.apache.cassandra.service.pager.MultiPartitionPager.limit:Lorg/apache/cassandra/db/filter/DataLimits;
2: aload 0
aload 1
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand$Group.nowInSec:()I
putfield org.apache.cassandra.service.pager.MultiPartitionPager.nowInSec:I
3: iconst_0
istore 4
start local 4 4: aload 2
ifnull 10
5: goto 9
6: StackMap locals: org.apache.cassandra.service.pager.MultiPartitionPager org.apache.cassandra.db.SinglePartitionReadCommand$Group org.apache.cassandra.service.pager.PagingState org.apache.cassandra.transport.ProtocolVersion int
StackMap stack:
aload 1
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.db.SinglePartitionReadCommand
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
aload 2
getfield org.apache.cassandra.service.pager.PagingState.partitionKey:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.equals:(Ljava/lang/Object;)Z
ifeq 8
7: goto 10
8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 1
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 6
10: StackMap locals:
StackMap stack:
iload 4
aload 1
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 13
11: aload 0
aconst_null
putfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
12: return
13: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
invokeinterface java.util.List.size:()I
iload 4
isub
anewarray org.apache.cassandra.service.pager.SinglePartitionPager
putfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
14: aload 1
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.db.SinglePartitionReadCommand
astore 5
start local 5 15: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
iconst_0
aload 5
aload 2
aload 3
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand.getPager:(Lorg/apache/cassandra/service/pager/PagingState;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/service/pager/SinglePartitionPager;
aastore
16: iload 4
iconst_1
iadd
istore 6
start local 6 17: goto 20
18: StackMap locals: org.apache.cassandra.db.SinglePartitionReadCommand int
StackMap stack:
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
iload 6
iload 4
isub
aload 1
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.db.SinglePartitionReadCommand
aconst_null
aload 3
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand.getPager:(Lorg/apache/cassandra/service/pager/PagingState;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/service/pager/SinglePartitionPager;
aastore
19: iinc 6 1
StackMap locals:
StackMap stack:
20: iload 6
aload 1
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 18
end local 6 21: aload 0
aload 2
ifnonnull 22
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.limit:Lorg/apache/cassandra/db/filter/DataLimits;
invokevirtual org.apache.cassandra.db.filter.DataLimits.count:()I
goto 23
StackMap locals: org.apache.cassandra.service.pager.MultiPartitionPager org.apache.cassandra.db.SinglePartitionReadCommand$Group org.apache.cassandra.service.pager.PagingState org.apache.cassandra.transport.ProtocolVersion int org.apache.cassandra.db.SinglePartitionReadCommand
StackMap stack: org.apache.cassandra.service.pager.MultiPartitionPager
22: aload 2
getfield org.apache.cassandra.service.pager.PagingState.remaining:I
StackMap locals: org.apache.cassandra.service.pager.MultiPartitionPager org.apache.cassandra.db.SinglePartitionReadCommand$Group org.apache.cassandra.service.pager.PagingState org.apache.cassandra.transport.ProtocolVersion int org.apache.cassandra.db.SinglePartitionReadCommand
StackMap stack: org.apache.cassandra.service.pager.MultiPartitionPager int
23: putfield org.apache.cassandra.service.pager.MultiPartitionPager.remaining:I
24: 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 25 0 this Lorg/apache/cassandra/service/pager/MultiPartitionPager;
0 25 1 group Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;
0 25 2 state Lorg/apache/cassandra/service/pager/PagingState;
0 25 3 protocolVersion Lorg/apache/cassandra/transport/ProtocolVersion;
4 25 4 i I
15 25 5 command Lorg/apache/cassandra/db/SinglePartitionReadCommand;
17 21 6 j I
MethodParameters:
Name Flags
group
state
protocolVersion
private void <init>(org.apache.cassandra.service.pager.SinglePartitionPager[], org.apache.cassandra.db.filter.DataLimits, int, int, int);
descriptor: ([Lorg/apache/cassandra/service/pager/SinglePartitionPager;Lorg/apache/cassandra/db/filter/DataLimits;III)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, 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
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
2: aload 0
aload 2
putfield org.apache.cassandra.service.pager.MultiPartitionPager.limit:Lorg/apache/cassandra/db/filter/DataLimits;
3: aload 0
iload 3
putfield org.apache.cassandra.service.pager.MultiPartitionPager.nowInSec:I
4: aload 0
iload 4
putfield org.apache.cassandra.service.pager.MultiPartitionPager.remaining:I
5: aload 0
iload 5
putfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
6: 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 7 0 this Lorg/apache/cassandra/service/pager/MultiPartitionPager;
0 7 1 pagers [Lorg/apache/cassandra/service/pager/SinglePartitionPager;
0 7 2 limit Lorg/apache/cassandra/db/filter/DataLimits;
0 7 3 nowInSec I
0 7 4 remaining I
0 7 5 current I
MethodParameters:
Name Flags
pagers
limit
nowInSec
remaining
current
public org.apache.cassandra.service.pager.QueryPager withUpdatedLimit(org.apache.cassandra.db.filter.DataLimits);
descriptor: (Lorg/apache/cassandra/db/filter/DataLimits;)Lorg/apache/cassandra/service/pager/QueryPager;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast org.apache.cassandra.service.pager.SinglePartitionPager[]
astore 2
start local 2 1: aload 2
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
aload 2
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
aaload
aload 1
invokevirtual org.apache.cassandra.service.pager.SinglePartitionPager.withUpdatedLimit:(Lorg/apache/cassandra/db/filter/DataLimits;)Lorg/apache/cassandra/service/pager/SinglePartitionPager;
aastore
2: new org.apache.cassandra.service.pager.MultiPartitionPager
dup
aload 2
3: aload 1
4: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.nowInSec:I
5: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.remaining:I
6: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
7: invokespecial org.apache.cassandra.service.pager.MultiPartitionPager.<init>:([Lorg/apache/cassandra/service/pager/SinglePartitionPager;Lorg/apache/cassandra/db/filter/DataLimits;III)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/service/pager/MultiPartitionPager;
0 8 1 newLimits Lorg/apache/cassandra/db/filter/DataLimits;
1 8 2 newPagers [Lorg/apache/cassandra/service/pager/SinglePartitionPager;
MethodParameters:
Name Flags
newLimits
public org.apache.cassandra.service.pager.PagingState state();
descriptor: ()Lorg/apache/cassandra/service/pager/PagingState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.service.pager.MultiPartitionPager.isExhausted:()Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
aaload
invokevirtual org.apache.cassandra.service.pager.SinglePartitionPager.state:()Lorg/apache/cassandra/service/pager/PagingState;
astore 1
start local 1 3: new org.apache.cassandra.service.pager.PagingState
dup
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
aaload
invokevirtual org.apache.cassandra.service.pager.SinglePartitionPager.key:()Ljava/nio/ByteBuffer;
aload 1
ifnonnull 4
aconst_null
goto 5
StackMap locals: org.apache.cassandra.service.pager.MultiPartitionPager org.apache.cassandra.service.pager.PagingState
StackMap stack: new 3 new 3 java.nio.ByteBuffer
4: aload 1
getfield org.apache.cassandra.service.pager.PagingState.rowMark:Lorg/apache/cassandra/service/pager/PagingState$RowMark;
StackMap locals: org.apache.cassandra.service.pager.MultiPartitionPager org.apache.cassandra.service.pager.PagingState
StackMap stack: new 3 new 3 java.nio.ByteBuffer org.apache.cassandra.service.pager.PagingState$RowMark
5: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.remaining:I
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
aaload
invokevirtual org.apache.cassandra.service.pager.SinglePartitionPager.remainingInPartition:()I
invokespecial org.apache.cassandra.service.pager.PagingState.<init>:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/service/pager/PagingState$RowMark;II)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/service/pager/MultiPartitionPager;
3 6 1 state Lorg/apache/cassandra/service/pager/PagingState;
public boolean isExhausted();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.remaining:I
ifle 1
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
ifnonnull 5
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
aaload
invokevirtual org.apache.cassandra.service.pager.SinglePartitionPager.isExhausted:()Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
iconst_1
iadd
putfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
arraylength
if_icmplt 2
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/service/pager/MultiPartitionPager;
public org.apache.cassandra.db.ReadExecutionController executionController();
descriptor: ()Lorg/apache/cassandra/db/ReadExecutionController;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.current:I
istore 1
start local 1 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
iload 1
aaload
ifnull 4
3: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
iload 1
aaload
invokevirtual org.apache.cassandra.service.pager.SinglePartitionPager.executionController:()Lorg/apache/cassandra/db/ReadExecutionController;
areturn
4: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.pagers:[Lorg/apache/cassandra/service/pager/SinglePartitionPager;
arraylength
if_icmplt 2
end local 1 6: new java.lang.AssertionError
dup
ldc "Shouldn't be called on an exhausted pager"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/service/pager/MultiPartitionPager;
1 6 1 i I
public org.apache.cassandra.db.partitions.PartitionIterator fetchPage(int, org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.service.ClientState, long);
descriptor: (ILorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.remaining:I
iload 1
invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 1: new org.apache.cassandra.service.pager.MultiPartitionPager$PagersIterator
dup
aload 0
iload 6
aload 2
aload 3
aconst_null
lload 4
invokespecial org.apache.cassandra.service.pager.MultiPartitionPager$PagersIterator.<init>:(Lorg/apache/cassandra/service/pager/MultiPartitionPager;ILorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;Lorg/apache/cassandra/db/ReadExecutionController;J)V
areturn
end local 6 end local 4 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/service/pager/MultiPartitionPager;
0 2 1 pageSize I
0 2 2 consistency Lorg/apache/cassandra/db/ConsistencyLevel;
0 2 3 clientState Lorg/apache/cassandra/service/ClientState;
0 2 4 queryStartNanoTime J
1 2 6 toQuery I
Exceptions:
throws org.apache.cassandra.exceptions.RequestValidationException, org.apache.cassandra.exceptions.RequestExecutionException
MethodParameters:
Name Flags
pageSize
consistency
clientState
queryStartNanoTime
public org.apache.cassandra.db.partitions.PartitionIterator fetchPageInternal(int, org.apache.cassandra.db.ReadExecutionController);
descriptor: (ILorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.remaining:I
iload 1
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 1: new org.apache.cassandra.service.pager.MultiPartitionPager$PagersIterator
dup
aload 0
iload 3
aconst_null
aconst_null
aload 2
invokestatic java.lang.System.nanoTime:()J
invokespecial org.apache.cassandra.service.pager.MultiPartitionPager$PagersIterator.<init>:(Lorg/apache/cassandra/service/pager/MultiPartitionPager;ILorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;Lorg/apache/cassandra/db/ReadExecutionController;J)V
areturn
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/service/pager/MultiPartitionPager;
0 2 1 pageSize I
0 2 2 executionController Lorg/apache/cassandra/db/ReadExecutionController;
1 2 3 toQuery I
Exceptions:
throws org.apache.cassandra.exceptions.RequestValidationException, org.apache.cassandra.exceptions.RequestExecutionException
MethodParameters:
Name Flags
pageSize
executionController
public int maxRemaining();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.pager.MultiPartitionPager.remaining:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/pager/MultiPartitionPager;
}
SourceFile: "MultiPartitionPager.java"
NestMembers:
org.apache.cassandra.service.pager.MultiPartitionPager$PagersIterator
InnerClasses:
public Group = org.apache.cassandra.db.SinglePartitionReadCommand$Group of org.apache.cassandra.db.SinglePartitionReadCommand
private PagersIterator = org.apache.cassandra.service.pager.MultiPartitionPager$PagersIterator of org.apache.cassandra.service.pager.MultiPartitionPager
public RowMark = org.apache.cassandra.service.pager.PagingState$RowMark of org.apache.cassandra.service.pager.PagingState