class org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator<Unit> extends org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase<Unit>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator
super_class: org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase
{
final com.google.common.collect.Multimap<Unit, org.apache.cassandra.dht.Token> unitToTokens;
descriptor: Lcom/google/common/collect/Multimap;
flags: (0x0010) ACC_FINAL
Signature: Lcom/google/common/collect/Multimap<TUnit;Lorg/apache/cassandra/dht/Token;>;
final int replicas;
descriptor: I
flags: (0x0010) ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.util.NavigableMap<org.apache.cassandra.dht.Token, Unit>, org.apache.cassandra.dht.tokenallocator.ReplicationStrategy<Unit>, org.apache.cassandra.dht.IPartitioner);
descriptor: (Ljava/util/NavigableMap;Lorg/apache/cassandra/dht/tokenallocator/ReplicationStrategy;Lorg/apache/cassandra/dht/IPartitioner;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase.<init>:(Ljava/util/NavigableMap;Lorg/apache/cassandra/dht/tokenallocator/ReplicationStrategy;Lorg/apache/cassandra/dht/IPartitioner;)V
1: aload 0
invokestatic com.google.common.collect.HashMultimap.create:()Lcom/google/common/collect/HashMultimap;
putfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.unitToTokens:Lcom/google/common/collect/Multimap;
2: aload 1
invokeinterface java.util.NavigableMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator java.util.NavigableMap org.apache.cassandra.dht.tokenallocator.ReplicationStrategy org.apache.cassandra.dht.IPartitioner top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 4: aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.unitToTokens:Lcom/google/common/collect/Multimap;
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.apache.cassandra.dht.Token
invokeinterface com.google.common.collect.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 0
aload 2
invokeinterface org.apache.cassandra.dht.tokenallocator.ReplicationStrategy.replicas:()I
putfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.replicas:I
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 8 1 sortedTokens Ljava/util/NavigableMap<Lorg/apache/cassandra/dht/Token;TUnit;>;
0 8 2 strategy Lorg/apache/cassandra/dht/tokenallocator/ReplicationStrategy<TUnit;>;
0 8 3 partitioner Lorg/apache/cassandra/dht/IPartitioner;
4 5 4 en Ljava/util/Map$Entry<Lorg/apache/cassandra/dht/Token;TUnit;>;
Signature: (Ljava/util/NavigableMap<Lorg/apache/cassandra/dht/Token;TUnit;>;Lorg/apache/cassandra/dht/tokenallocator/ReplicationStrategy<TUnit;>;Lorg/apache/cassandra/dht/IPartitioner;)V
MethodParameters:
Name Flags
sortedTokens
strategy
partitioner
public int getReplicas();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.replicas:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
public java.util.Collection<org.apache.cassandra.dht.Token> addUnit(Unit, int);
descriptor: (Ljava/lang/Object;I)Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=17, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.unitToTokens:Lcom/google/common/collect/Multimap;
aload 1
invokeinterface com.google.common.collect.Multimap.containsKey:(Ljava/lang/Object;)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.unitCount:()I
aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.replicas:I
if_icmpge 3
2: aload 0
aload 1
iload 2
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.generateRandomTokens:(Ljava/lang/Object;I)Ljava/util/Collection;
areturn
3: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.sortedTokens:Ljava/util/NavigableMap;
invokeinterface java.util.NavigableMap.size:()I
if_icmple 5
4: aload 0
aload 1
iload 2
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.generateRandomTokens:(Ljava/lang/Object;I)Ljava/util/Collection;
areturn
5: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.optimalTokenOwnership:(I)D
dstore 3
start local 3 6: invokestatic com.google.common.collect.Maps.newHashMap:()Ljava/util/HashMap;
astore 5
start local 5 7: aload 0
aload 5
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.createUnitInfos:(Ljava/util/Map;)Ljava/util/Map;
astore 6
start local 6 8: aload 5
invokeinterface java.util.Map.size:()I
aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.replicas:I
if_icmpge 10
9: aload 0
aload 1
iload 2
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.generateRandomTokens:(Ljava/lang/Object;I)Ljava/util/Collection;
areturn
10: StackMap locals: double java.util.Map java.util.Map
StackMap stack:
new org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo
dup
aload 1
iload 2
i2d
dload 3
dmul
aload 5
aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.strategy:Lorg/apache/cassandra/dht/tokenallocator/ReplicationStrategy;
invokespecial org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.<init>:(Ljava/lang/Object;DLjava/util/Map;Lorg/apache/cassandra/dht/tokenallocator/ReplicationStrategy;)V
astore 7
start local 7 11: aload 0
aload 6
aload 7
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.group:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.createTokenInfos:(Ljava/util/Map;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;
astore 8
start local 8 12: aload 7
iload 2
putfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.tokenCount:I
13: aload 0
aload 8
aload 7
dload 3
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.createCandidates:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;D)Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;
astore 9
start local 9 14: new java.util.PriorityQueue
dup
aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.sortedTokens:Ljava/util/NavigableMap;
invokeinterface java.util.NavigableMap.size:()I
invokespecial java.util.PriorityQueue.<init>:(I)V
astore 10
start local 10 15: aload 9
astore 11
start local 11 16: StackMap locals: org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator java.lang.Object int double java.util.Map java.util.Map org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo java.util.PriorityQueue org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo
StackMap stack:
aload 0
aload 11
dload 3
dconst_1
iload 2
i2d
ddiv
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.evaluateImprovement:(Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;DD)D
dstore 12
start local 12 17: aload 10
new org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted
dup
dload 12
aload 11
invokespecial org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted.<init>:(DLjava/lang/Object;)V
invokevirtual java.util.PriorityQueue.add:(Ljava/lang/Object;)Z
pop
18: aload 11
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.next:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo
astore 11
end local 12 19: aload 11
aload 9
if_acmpne 16
20: aload 10
invokevirtual java.util.PriorityQueue.remove:()Ljava/lang/Object;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted.value:Ljava/lang/Object;
checkcast org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo
astore 12
start local 12 21: iconst_1
istore 13
start local 13 22: StackMap locals: org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo int
StackMap stack:
aload 12
aload 9
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.removeFrom:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;)Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo
astore 9
23: aload 0
aload 12
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.confirmCandidate:(Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;)V
24: iload 13
iload 2
if_icmpne 26
25: goto 34
26: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.util.PriorityQueue.remove:()Ljava/lang/Object;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted.value:Ljava/lang/Object;
checkcast org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo
astore 12
27: aload 0
aload 12
dload 3
iload 13
i2d
dconst_1
dadd
iload 2
i2d
ddiv
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.evaluateImprovement:(Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;DD)D
dstore 14
start local 14 28: aload 10
invokevirtual java.util.PriorityQueue.peek:()Ljava/lang/Object;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted
astore 16
start local 16 29: aload 16
ifnull 33
dload 14
aload 16
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted.weight:D
dcmpl
iflt 31
30: goto 33
31: StackMap locals: double org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted
StackMap stack:
aload 10
new org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted
dup
dload 14
aload 12
invokespecial org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted.<init>:(DLjava/lang/Object;)V
invokevirtual java.util.PriorityQueue.add:(Ljava/lang/Object;)Z
pop
end local 16 end local 14 32: goto 26
33: StackMap locals:
StackMap stack:
iinc 13 1
goto 22
end local 13 34: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.unitToTokens:Lcom/google/common/collect/Multimap;
aload 1
invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 35 1 newUnit TUnit;
0 35 2 numTokens I
6 35 3 optTokenOwnership D
7 35 5 groups Ljava/util/Map<Ljava/lang/Object;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;>;
8 35 6 unitInfos Ljava/util/Map<TUnit;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;>;
11 35 7 newUnitInfo Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;
12 35 8 tokens Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
14 35 9 candidates Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;
15 35 10 improvements Ljava/util/PriorityQueue<Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$Weighted<Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;>;>;
16 35 11 candidate Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;
17 19 12 impr D
21 35 12 bestToken Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;
22 34 13 vn I
28 32 14 impr D
29 32 16 next Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$Weighted<Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;>;
Signature: (TUnit;I)Ljava/util/Collection<Lorg/apache/cassandra/dht/Token;>;
MethodParameters:
Name Flags
newUnit
numTokens
private java.util.Collection<org.apache.cassandra.dht.Token> generateRandomTokens(Unit, int);
descriptor: (Ljava/lang/Object;I)Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashSet
dup
iload 2
invokespecial java.util.HashSet.<init>:(I)V
astore 3
start local 3 1: goto 7
2: StackMap locals: java.util.Set
StackMap stack:
aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.partitioner:Lorg/apache/cassandra/dht/IPartitioner;
invokeinterface org.apache.cassandra.dht.IPartitioner.getRandomToken:()Lorg/apache/cassandra/dht/Token;
astore 4
start local 4 3: aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.sortedTokens:Ljava/util/NavigableMap;
aload 4
invokeinterface java.util.NavigableMap.containsKey:(Ljava/lang/Object;)Z
ifne 7
4: aload 3
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.sortedTokens:Ljava/util/NavigableMap;
aload 4
aload 1
invokeinterface java.util.NavigableMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.unitToTokens:Lcom/google/common/collect/Multimap;
aload 1
aload 4
invokeinterface com.google.common.collect.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
end local 4 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Set.size:()I
iload 2
if_icmplt 2
8: aload 3
areturn
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/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 9 1 newUnit TUnit;
0 9 2 numTokens I
1 9 3 tokens Ljava/util/Set<Lorg/apache/cassandra/dht/Token;>;
3 7 4 token Lorg/apache/cassandra/dht/Token;
Signature: (TUnit;I)Ljava/util/Collection<Lorg/apache/cassandra/dht/Token;>;
MethodParameters:
Name Flags
newUnit
numTokens
private org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo<Unit> createTokenInfos(java.util.Map<Unit, org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo<Unit>>, org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$GroupInfo);
descriptor: (Ljava/util/Map;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.sortedTokens:Ljava/util/NavigableMap;
invokeinterface java.util.NavigableMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator java.util.Map org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$GroupInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 4: aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.apache.cassandra.dht.Token
astore 7
start local 7 5: aload 1
aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo
astore 8
start local 8 6: new org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
dup
aload 7
aload 8
invokespecial org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.<init>:(Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;)V
astore 9
start local 9 7: aload 9
aload 4
aload 3
invokevirtual org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.insertAfter:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;)Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
astore 4
8: aload 9
astore 3
end local 9 end local 8 end local 7 end local 5 9: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: aload 4
astore 5
start local 5 11: StackMap locals: org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator java.util.Map org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$GroupInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
StackMap stack:
aload 0
aload 5
aload 2
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.populateTokenInfoAndAdjustUnit:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)V
12: aload 5
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.next:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
astore 5
13: aload 5
aload 4
if_acmpne 11
14: aload 4
areturn
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 15 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 15 1 units Ljava/util/Map<TUnit;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;>;
0 15 2 newUnitGroup Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
1 15 3 prev Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
2 15 4 first Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
4 9 5 en Ljava/util/Map$Entry<Lorg/apache/cassandra/dht/Token;TUnit;>;
5 9 7 t Lorg/apache/cassandra/dht/Token;
6 9 8 ni Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;
7 9 9 ti Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
11 15 5 curr Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
Signature: (Ljava/util/Map<TUnit;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;>;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
MethodParameters:
Name Flags
units
newUnitGroup
private org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo<Unit> createCandidates(org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo<Unit>, org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo<Unit>, double);
descriptor: (Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;D)Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aconst_null
astore 7
start local 7 3: StackMap locals: org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo
StackMap stack:
new org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo
dup
aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.partitioner:Lorg/apache/cassandra/dht/IPartitioner;
aload 5
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.prev:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.token:Lorg/apache/cassandra/dht/Token;
aload 5
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.token:Lorg/apache/cassandra/dht/Token;
invokeinterface org.apache.cassandra.dht.IPartitioner.midpoint:(Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;)Lorg/apache/cassandra/dht/Token;
aload 5
aload 2
invokespecial org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.<init>:(Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;)V
astore 8
start local 8 4: aload 8
aload 6
aload 7
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.insertAfter:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;)Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo
astore 6
5: aload 8
dload 3
putfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.replicatedOwnership:D
6: aload 0
aload 8
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.populateCandidate:(Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;)V
7: aload 8
astore 7
8: aload 5
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.next:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
astore 5
end local 8 9: aload 5
aload 1
if_acmpne 3
10: aload 7
aload 6
putfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.next:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
11: aload 6
areturn
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 12 1 tokens Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
0 12 2 newUnitInfo Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;
0 12 3 initialTokenOwnership D
1 12 5 curr Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
2 12 6 first Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;
3 12 7 prev Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;
4 9 8 candidate Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;
Signature: (Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;D)Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;
MethodParameters:
Name Flags
tokens
newUnitInfo
initialTokenOwnership
private void populateCandidate(org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo<Unit>);
descriptor: (Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.owningUnit:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.group:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.populateTokenInfo:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)Lorg/apache/cassandra/dht/Token;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 2 1 candidate Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;
Signature: (Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;)V
MethodParameters:
Name Flags
candidate
private void confirmCandidate(org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo<Unit>);
descriptor: (Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.owningUnit:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;
astore 2
start local 2 1: aload 1
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.token:Lorg/apache/cassandra/dht/Token;
astore 3
start local 3 2: aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.sortedTokens:Ljava/util/NavigableMap;
aload 3
aload 2
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.unit:Ljava/lang/Object;
invokeinterface java.util.NavigableMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.unitToTokens:Lcom/google/common/collect/Multimap;
aload 2
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.unit:Ljava/lang/Object;
aload 3
invokeinterface com.google.common.collect.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
4: aload 1
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.prevInRing:()Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;
astore 4
start local 4 5: new org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
dup
aload 3
aload 2
invokespecial org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.<init>:(Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;)V
astore 5
start local 5 6: aload 5
aload 1
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.replicatedOwnership:D
putfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.replicatedOwnership:D
7: aload 5
aload 4
aload 4
invokevirtual org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.insertAfter:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;)Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
pop
8: aload 0
aload 5
aload 2
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.group:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.populateTokenInfoAndAdjustUnit:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)V
9: new org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor
dup
aload 0
invokespecial org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor.<init>:(Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator;)V
astore 6
start local 6 10: getstatic org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.$assertionsDisabled:Z
ifne 11
aload 5
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.next:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
aload 1
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.split:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;
if_acmpeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals: org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo org.apache.cassandra.dht.Token org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor
StackMap stack:
aload 5
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.next:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
astore 7
start local 7 12: goto 19
13: StackMap locals: org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
StackMap stack:
aload 1
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.next:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo
astore 1
14: aload 0
aload 1
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.populateCandidate:(Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;)V
15: aload 6
aload 7
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.owningUnit:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.group:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor.add:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)Z
ifne 17
16: goto 18
17: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 2
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.group:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.populateTokenInfoAndAdjustUnit:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)V
18: StackMap locals:
StackMap stack:
aload 7
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.next:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
astore 7
StackMap locals:
StackMap stack:
19: aload 6
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor.visitedAll:()Z
ifeq 13
end local 7 20: aload 6
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor.clean:()V
21: return
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 22 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 22 1 candidate Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;
1 22 2 newUnit Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;
2 22 3 newToken Lorg/apache/cassandra/dht/Token;
5 22 4 prev Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
6 22 5 newTokenInfo Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
10 22 6 replicationVisitor Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>.ReplicationVisitor;
12 20 7 curr Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
Signature: (Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;)V
MethodParameters:
Name Flags
candidate
private org.apache.cassandra.dht.Token populateTokenInfo(org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo<Unit, ?>, org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$GroupInfo);
descriptor: (Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)Lorg/apache/cassandra/dht/Token;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo.owningUnit:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.group:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
astore 3
start local 3 1: new org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$PopulateVisitor
dup
aload 0
invokespecial org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$PopulateVisitor.<init>:(Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator;)V
astore 4
start local 4 2: aload 1
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo.token:Lorg/apache/cassandra/dht/Token;
astore 6
start local 6 3: aload 1
invokevirtual org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo.prevInRing:()Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;
astore 8
start local 8 4: StackMap locals: org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$GroupInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$GroupInfo org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$PopulateVisitor top org.apache.cassandra.dht.Token top org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
StackMap stack:
aload 8
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.token:Lorg/apache/cassandra/dht/Token;
astore 5
start local 5 5: aload 8
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.owningUnit:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.group:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
astore 7
start local 7 6: aload 4
aload 7
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$PopulateVisitor.add:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)Z
ifne 8
7: goto 13
8: StackMap locals: org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$GroupInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$GroupInfo org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$PopulateVisitor org.apache.cassandra.dht.Token org.apache.cassandra.dht.Token org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$GroupInfo org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
StackMap stack:
aload 4
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$PopulateVisitor.visitedAll:()Z
ifeq 10
9: goto 15
10: StackMap locals:
StackMap stack:
aload 5
astore 6
11: aload 7
aload 3
if_acmpne 13
12: goto 15
13: StackMap locals:
StackMap stack:
aload 8
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.prev:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
astore 8
end local 7 end local 5 14: goto 4
end local 8 start local 5 start local 7 15: StackMap locals:
StackMap stack:
aload 2
aload 3
if_acmpne 17
16: aload 1
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo.token:Lorg/apache/cassandra/dht/Token;
astore 6
goto 19
17: StackMap locals:
StackMap stack:
aload 2
aload 7
if_acmpeq 19
aload 4
aload 2
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$PopulateVisitor.seen:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)Z
ifeq 19
18: aload 5
astore 6
19: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$PopulateVisitor.clean:()V
20: aload 1
aload 6
putfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo.replicationThreshold:Lorg/apache/cassandra/dht/Token;
21: aload 1
aload 5
putfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo.replicationStart:Lorg/apache/cassandra/dht/Token;
22: aload 5
areturn
end local 7 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 23 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 23 1 token Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo<TUnit;*>;
0 23 2 newUnitGroup Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
1 23 3 tokenGroup Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
2 23 4 visitor Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>.PopulateVisitor;
5 14 5 replicationStart Lorg/apache/cassandra/dht/Token;
15 23 5 replicationStart Lorg/apache/cassandra/dht/Token;
3 23 6 replicationThreshold Lorg/apache/cassandra/dht/Token;
6 14 7 currGroup Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
15 23 7 currGroup Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
4 15 8 curr Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
Signature: (Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo<TUnit;*>;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)Lorg/apache/cassandra/dht/Token;
MethodParameters:
Name Flags
token
newUnitGroup
private void populateTokenInfoAndAdjustUnit(org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo<Unit>, org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$GroupInfo);
descriptor: (Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.populateTokenInfo:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)Lorg/apache/cassandra/dht/Token;
astore 3
start local 3 1: aload 3
aload 1
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.token:Lorg/apache/cassandra/dht/Token;
invokevirtual org.apache.cassandra.dht.Token.size:(Lorg/apache/cassandra/dht/Token;)D
dstore 4
start local 4 2: aload 1
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.replicatedOwnership:D
dstore 6
start local 6 3: aload 1
dload 4
putfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.replicatedOwnership:D
4: aload 1
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.owningUnit:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;
dup
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.ownership:D
dload 4
dload 6
dsub
dadd
putfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.ownership:D
5: return
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 6 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 6 1 populate Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
0 6 2 newUnitGroup Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
1 6 3 replicationStart Lorg/apache/cassandra/dht/Token;
2 6 4 newOwnership D
3 6 6 oldOwnership D
Signature: (Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)V
MethodParameters:
Name Flags
populate
newUnitGroup
private double evaluateImprovement(org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo<Unit>, double, );
descriptor: (Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;DD)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 4 0: dconst_0
dstore 6
start local 6 1: aload 1
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.owningUnit:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;
astore 8
start local 8 2: aload 1
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.token:Lorg/apache/cassandra/dht/Token;
astore 9
start local 9 3: new org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$UnitAdjustmentTracker
dup
aload 8
invokespecial org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$UnitAdjustmentTracker.<init>:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;)V
astore 10
start local 10 4: dload 6
aload 0
aload 1
aload 8
aload 1
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.replicationStart:Lorg/apache/cassandra/dht/Token;
aload 9
dload 2
aload 10
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.applyOwnershipAdjustment:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;DLorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$UnitAdjustmentTracker;)D
dadd
dstore 6
5: new org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor
dup
aload 0
invokespecial org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor.<init>:(Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator;)V
astore 11
start local 11 6: aload 1
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.split:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;
astore 12
start local 12 7: goto 15
8: StackMap locals: org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo double double double org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo org.apache.cassandra.dht.Token org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$UnitAdjustmentTracker org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
StackMap stack:
aload 12
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.owningUnit:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;
astore 13
start local 13 9: aload 11
aload 13
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.group:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor.add:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$GroupInfo;)Z
ifne 11
10: goto 14
11: StackMap locals: org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo
StackMap stack:
aload 12
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.token:Lorg/apache/cassandra/dht/Token;
astore 14
start local 14 12: aload 0
aload 12
aload 1
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.findUpdatedReplicationStart:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;)Lorg/apache/cassandra/dht/Token;
astore 15
start local 15 13: dload 6
aload 0
aload 12
aload 13
aload 15
aload 14
dload 2
aload 10
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.applyOwnershipAdjustment:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;DLorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$UnitAdjustmentTracker;)D
dadd
dstore 6
end local 15 end local 14 end local 13 14: StackMap locals:
StackMap stack:
aload 12
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.next:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo
astore 12
StackMap locals:
StackMap stack:
15: aload 11
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor.visitedAll:()Z
ifeq 8
end local 12 16: aload 11
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor.clean:()V
17: aload 10
dload 4
dload 2
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$UnitAdjustmentTracker.calculateUnitChange:(DD)D
dstore 12
start local 12 18: dload 6
dload 12
dadd
dneg
dreturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 19 1 candidate Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;
0 19 2 optTokenOwnership D
0 19 4 newUnitMult D
1 19 6 tokenChange D
2 19 8 candidateUnit Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;
3 19 9 candidateEnd Lorg/apache/cassandra/dht/Token;
4 19 10 unitTracker Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$UnitAdjustmentTracker<TUnit;>;
6 19 11 replicationVisitor Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>.ReplicationVisitor;
7 16 12 curr Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
9 14 13 currUnit Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;
12 14 14 replicationEnd Lorg/apache/cassandra/dht/Token;
13 14 15 replicationStart Lorg/apache/cassandra/dht/Token;
18 19 12 nodeChange D
Signature: (Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;DD)D
MethodParameters:
Name Flags
candidate
optTokenOwnership
newUnitMult
private org.apache.cassandra.dht.Token findUpdatedReplicationStart(org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo<Unit>, org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo<Unit>);
descriptor: (Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo;Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo;)Lorg/apache/cassandra/dht/Token;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.replicationThreshold:Lorg/apache/cassandra/dht/Token;
aload 2
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo.token:Lorg/apache/cassandra/dht/Token;
aload 1
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo.token:Lorg/apache/cassandra/dht/Token;
invokestatic org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.furtherStartToken:(Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;)Lorg/apache/cassandra/dht/Token;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 1 1 curr Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;
0 1 2 candidate Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;
Signature: (Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$TokenInfo<TUnit;>;Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$CandidateInfo<TUnit;>;)Lorg/apache/cassandra/dht/Token;
MethodParameters:
Name Flags
curr
candidate
private double applyOwnershipAdjustment(org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo<Unit, ?>, org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo<Unit>, org.apache.cassandra.dht.Token, org.apache.cassandra.dht.Token, double, org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$UnitAdjustmentTracker<Unit>);
descriptor: (Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;DLorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$UnitAdjustmentTracker;)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=14, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 7 0: aload 1
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo.replicatedOwnership:D
dstore 8
start local 8 1: aload 3
aload 4
invokevirtual org.apache.cassandra.dht.Token.size:(Lorg/apache/cassandra/dht/Token;)D
dstore 10
start local 10 2: aload 2
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo.tokenCount:I
i2d
dstore 12
start local 12 3: getstatic org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.$assertionsDisabled:Z
ifne 4
dload 12
dconst_0
dcmpl
ifgt 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: double double double
StackMap stack:
aload 7
aload 2
dload 10
dload 8
dsub
invokevirtual org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$UnitAdjustmentTracker.add:(Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo;D)V
5: dload 10
dload 5
dsub
invokestatic org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.sq:(D)D
dload 8
dload 5
dsub
invokestatic org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.sq:(D)D
dsub
dload 12
invokestatic org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.sq:(D)D
ddiv
dreturn
end local 12 end local 10 end local 8 end local 7 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 6 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 6 1 curr Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo<TUnit;*>;
0 6 2 currUnit Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;
0 6 3 replicationStart Lorg/apache/cassandra/dht/Token;
0 6 4 replicationEnd Lorg/apache/cassandra/dht/Token;
0 6 5 optTokenOwnership D
0 6 7 unitTracker Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$UnitAdjustmentTracker<TUnit;>;
1 6 8 oldOwnership D
2 6 10 newOwnership D
3 6 12 tokenCount D
Signature: (Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo<TUnit;*>;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$UnitInfo<TUnit;>;Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;DLorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator$UnitAdjustmentTracker<TUnit;>;)D
MethodParameters:
Name Flags
curr
currUnit
replicationStart
replicationEnd
optTokenOwnership
unitTracker
private double optimalTokenOwnership(int);
descriptor: (I)D
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: dconst_1
aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.replicas:I
i2d
dmul
aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.sortedTokens:Ljava/util/NavigableMap;
invokeinterface java.util.NavigableMap.size:()I
iload 1
iadd
i2d
ddiv
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 1 1 tokensToAdd I
MethodParameters:
Name Flags
tokensToAdd
private static org.apache.cassandra.dht.Token furtherStartToken(org.apache.cassandra.dht.Token, org.apache.cassandra.dht.Token, org.apache.cassandra.dht.Token);
descriptor: (Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;)Lorg/apache/cassandra/dht/Token;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.cassandra.dht.Token.size:(Lorg/apache/cassandra/dht/Token;)D
aload 1
aload 2
invokevirtual org.apache.cassandra.dht.Token.size:(Lorg/apache/cassandra/dht/Token;)D
dcmpl
ifle 5
aload 0
goto 6
StackMap locals:
StackMap stack:
5: aload 1
StackMap locals:
StackMap stack: org.apache.cassandra.dht.Token
6: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 t1 Lorg/apache/cassandra/dht/Token;
0 7 1 t2 Lorg/apache/cassandra/dht/Token;
0 7 2 towards Lorg/apache/cassandra/dht/Token;
MethodParameters:
Name Flags
t1
t2
towards
private static double sq(double);
descriptor: (D)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: dload 0
dload 0
dmul
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 d D
MethodParameters:
Name Flags
d
void removeUnit();
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.unitToTokens:Lcom/google/common/collect/Multimap;
aload 1
invokeinterface com.google.common.collect.Multimap.removeAll:(Ljava/lang/Object;)Ljava/util/Collection;
astore 2
start local 2 1: aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.sortedTokens:Ljava/util/NavigableMap;
invokeinterface java.util.NavigableMap.keySet:()Ljava/util/Set;
aload 2
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
0 3 1 n TUnit;
1 3 2 tokens Ljava/util/Collection<Lorg/apache/cassandra/dht/Token;>;
Signature: (TUnit;)V
MethodParameters:
Name Flags
n
public int unitCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator.unitToTokens:Lcom/google/common/collect/Multimap;
invokeinterface com.google.common.collect.Multimap.asMap:()Ljava/util/Map;
invokeinterface java.util.Map.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/dht/tokenallocator/ReplicationAwareTokenAllocator<TUnit;>;
static void dumpTokens(java.lang.String, org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo<?, ?>);
descriptor: (Ljava/lang/String;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo;)V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: StackMap locals: org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%s%s: rs %s rt %s size %.2e%n"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 2
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo.replicationStart:Lorg/apache/cassandra/dht/Token;
aastore
dup
iconst_3
aload 2
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo.replicationThreshold:Lorg/apache/cassandra/dht/Token;
aastore
dup
iconst_4
aload 2
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo.replicatedOwnership:D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokevirtual java.io.PrintStream.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
2: aload 2
getfield org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo.next:Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$CircularList;
checkcast org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo
astore 2
3: aload 2
ifnull 4
aload 2
aload 1
if_acmpne 1
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 lead Ljava/lang/String;
0 5 1 tokens Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo<**>;
1 5 2 token Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo<**>;
Signature: (Ljava/lang/String;Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase$BaseTokenInfo<**>;)V
MethodParameters:
Name Flags
lead
tokens
}
Signature: <Unit:Ljava/lang/Object;>Lorg/apache/cassandra/dht/tokenallocator/TokenAllocatorBase<TUnit;>;
SourceFile: "ReplicationAwareTokenAllocator.java"
NestMembers:
org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$GroupVisitor org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$PopulateVisitor org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$UnitAdjustmentTracker
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
private CandidateInfo = org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$CandidateInfo of org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator
private abstract GroupVisitor = org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$GroupVisitor of org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator
private PopulateVisitor = org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$PopulateVisitor of org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator
private ReplicationVisitor = org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$ReplicationVisitor of org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator
private UnitAdjustmentTracker = org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator$UnitAdjustmentTracker of org.apache.cassandra.dht.tokenallocator.ReplicationAwareTokenAllocator
BaseTokenInfo = org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$BaseTokenInfo of org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase
GroupInfo = org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$GroupInfo of org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase
TokenInfo = org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$TokenInfo of org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase
UnitInfo = org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$UnitInfo of org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase
Weighted = org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$Weighted of org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase
private CircularList = org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase$CircularList of org.apache.cassandra.dht.tokenallocator.TokenAllocatorBase