public class org.apache.cassandra.gms.GossipDigestAckVerbHandler implements org.apache.cassandra.net.IVerbHandler<org.apache.cassandra.gms.GossipDigestAck>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.gms.GossipDigestAckVerbHandler
super_class: java.lang.Object
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/gms/GossipDigestAckVerbHandler;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/gms/GossipDigestAckVerbHandler;
public void doVerb(org.apache.cassandra.net.MessageIn<org.apache.cassandra.gms.GossipDigestAck>, );
descriptor: (Lorg/apache/cassandra/net/MessageIn;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
astore 3
start local 3 1: getstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 3
2: getstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
ldc "Received a GossipDigestAckMessage from {}"
aload 3
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
3: StackMap locals: java.net.InetAddress
StackMap stack:
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
invokevirtual org.apache.cassandra.gms.Gossiper.isEnabled:()Z
ifne 7
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
invokevirtual org.apache.cassandra.gms.Gossiper.isInShadowRound:()Z
ifne 7
4: getstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 6
5: getstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
ldc "Ignoring GossipDigestAckMessage because gossip is disabled"
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
7: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
checkcast org.apache.cassandra.gms.GossipDigestAck
astore 4
start local 4 8: aload 4
invokevirtual org.apache.cassandra.gms.GossipDigestAck.getGossipDigestList:()Ljava/util/List;
astore 5
start local 5 9: aload 4
invokevirtual org.apache.cassandra.gms.GossipDigestAck.getEndpointStateMap:()Ljava/util/Map;
astore 6
start local 6 10: getstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
ldc "Received ack with {} digests and {} states"
aload 5
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 6
invokeinterface java.util.Map.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
11: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
invokevirtual org.apache.cassandra.gms.Gossiper.isInShadowRound:()Z
ifeq 18
12: getstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 14
13: getstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
ldc "Received an ack from {}, which may trigger exit from shadow round"
aload 3
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
14: StackMap locals: org.apache.cassandra.gms.GossipDigestAck java.util.List java.util.Map
StackMap stack:
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 3
aload 5
invokeinterface java.util.List.isEmpty:()Z
ifeq 15
aload 6
invokeinterface java.util.Map.isEmpty:()Z
ifeq 15
iconst_1
goto 16
StackMap locals: org.apache.cassandra.gms.GossipDigestAckVerbHandler org.apache.cassandra.net.MessageIn int java.net.InetAddress org.apache.cassandra.gms.GossipDigestAck java.util.List java.util.Map
StackMap stack: org.apache.cassandra.gms.Gossiper java.net.InetAddress
15: iconst_0
StackMap locals: org.apache.cassandra.gms.GossipDigestAckVerbHandler org.apache.cassandra.net.MessageIn int java.net.InetAddress org.apache.cassandra.gms.GossipDigestAck java.util.List java.util.Map
StackMap stack: org.apache.cassandra.gms.Gossiper java.net.InetAddress int
16: aload 6
invokevirtual org.apache.cassandra.gms.Gossiper.maybeFinishShadowRound:(Ljava/net/InetAddress;ZLjava/util/Map;)V
17: return
18: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Map.size:()I
ifle 25
19: invokestatic java.lang.System.nanoTime:()J
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
getfield org.apache.cassandra.gms.Gossiper.firstSynSendAt:J
lsub
lconst_0
lcmp
iflt 20
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
getfield org.apache.cassandra.gms.Gossiper.firstSynSendAt:J
lconst_0
lcmp
ifne 23
20: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 22
21: getstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
ldc "Ignoring unrequested GossipDigestAck from {}"
aload 3
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
22: StackMap locals:
StackMap stack:
return
23: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 6
invokevirtual org.apache.cassandra.gms.Gossiper.notifyFailureDetector:(Ljava/util/Map;)V
24: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 6
invokevirtual org.apache.cassandra.gms.Gossiper.applyStateLocally:(Ljava/util/Map;)V
25: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 7
start local 7 26: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 32
StackMap locals: org.apache.cassandra.gms.GossipDigestAckVerbHandler org.apache.cassandra.net.MessageIn int java.net.InetAddress org.apache.cassandra.gms.GossipDigestAck java.util.List java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
27: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.gms.GossipDigest
astore 8
start local 8 28: aload 8
invokevirtual org.apache.cassandra.gms.GossipDigest.getEndpoint:()Ljava/net/InetAddress;
astore 10
start local 10 29: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 10
aload 8
invokevirtual org.apache.cassandra.gms.GossipDigest.getMaxVersion:()I
invokevirtual org.apache.cassandra.gms.Gossiper.getStateForVersionBiggerThan:(Ljava/net/InetAddress;I)Lorg/apache/cassandra/gms/EndpointState;
astore 11
start local 11 30: aload 11
ifnull 32
31: aload 7
aload 10
aload 11
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 11 end local 10 end local 8 32: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
33: new org.apache.cassandra.net.MessageOut
dup
getstatic org.apache.cassandra.net.MessagingService$Verb.GOSSIP_DIGEST_ACK2:Lorg/apache/cassandra/net/MessagingService$Verb;
34: new org.apache.cassandra.gms.GossipDigestAck2
dup
aload 7
invokespecial org.apache.cassandra.gms.GossipDigestAck2.<init>:(Ljava/util/Map;)V
35: getstatic org.apache.cassandra.gms.GossipDigestAck2.serializer:Lorg/apache/cassandra/io/IVersionedSerializer;
36: invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
astore 8
start local 8 37: getstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 39
38: getstatic org.apache.cassandra.gms.GossipDigestAckVerbHandler.logger:Lorg/slf4j/Logger;
ldc "Sending a GossipDigestAck2Message to {}"
aload 3
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
39: StackMap locals: org.apache.cassandra.gms.GossipDigestAckVerbHandler org.apache.cassandra.net.MessageIn int java.net.InetAddress org.apache.cassandra.gms.GossipDigestAck java.util.List java.util.Map java.util.Map org.apache.cassandra.net.MessageOut
StackMap stack:
invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 8
aload 3
invokevirtual org.apache.cassandra.net.MessagingService.sendOneWay:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;)V
40: return
end local 8 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 41 0 this Lorg/apache/cassandra/gms/GossipDigestAckVerbHandler;
0 41 1 message Lorg/apache/cassandra/net/MessageIn<Lorg/apache/cassandra/gms/GossipDigestAck;>;
0 41 2 id I
1 41 3 from Ljava/net/InetAddress;
8 41 4 gDigestAckMessage Lorg/apache/cassandra/gms/GossipDigestAck;
9 41 5 gDigestList Ljava/util/List<Lorg/apache/cassandra/gms/GossipDigest;>;
10 41 6 epStateMap Ljava/util/Map<Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;>;
26 41 7 deltaEpStateMap Ljava/util/Map<Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;>;
28 32 8 gDigest Lorg/apache/cassandra/gms/GossipDigest;
29 32 10 addr Ljava/net/InetAddress;
30 32 11 localEpStatePtr Lorg/apache/cassandra/gms/EndpointState;
37 41 8 gDigestAck2Message Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/gms/GossipDigestAck2;>;
Signature: (Lorg/apache/cassandra/net/MessageIn<Lorg/apache/cassandra/gms/GossipDigestAck;>;I)V
MethodParameters:
Name Flags
message
id
}
Signature: Ljava/lang/Object;Lorg/apache/cassandra/net/IVerbHandler<Lorg/apache/cassandra/gms/GossipDigestAck;>;
SourceFile: "GossipDigestAckVerbHandler.java"
InnerClasses:
public Verb = org.apache.cassandra.net.MessagingService$Verb of org.apache.cassandra.net.MessagingService