class org.apache.cassandra.gms.Gossiper$GossipTask implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.cassandra.gms.Gossiper$GossipTask
  super_class: java.lang.Object
{
  final org.apache.cassandra.gms.Gossiper this$0;
    descriptor: Lorg/apache/cassandra/gms/Gossiper;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.apache.cassandra.gms.Gossiper);
    descriptor: (Lorg/apache/cassandra/gms/Gossiper;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.gms.Gossiper$GossipTask this
         0: .line 189
            aload 0 /* this */
            aload 1
            putfield org.apache.cassandra.gms.Gossiper$GossipTask.this$0:Lorg/apache/cassandra/gms/Gossiper;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.gms.Gossiper$GossipTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/gms/Gossiper$GossipTask;
    MethodParameters:
        Name  Flags
      this$0  final

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.apache.cassandra.gms.Gossiper$GossipTask this
         0: .line 196
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            invokevirtual org.apache.cassandra.net.MessagingService.waitUntilListening:()V
         1: .line 198
            getstatic org.apache.cassandra.gms.Gossiper.taskLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
         2: .line 201
            aload 0 /* this */
            getfield org.apache.cassandra.gms.Gossiper$GossipTask.this$0:Lorg/apache/cassandra/gms/Gossiper;
            getfield org.apache.cassandra.gms.Gossiper.endpointStateMap:Ljava/util/concurrent/ConcurrentMap;
            invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.gms.EndpointState
            invokevirtual org.apache.cassandra.gms.EndpointState.getHeartBeatState:()Lorg/apache/cassandra/gms/HeartBeatState;
            invokevirtual org.apache.cassandra.gms.HeartBeatState.updateHeartBeat:()V
         3: .line 202
            getstatic org.apache.cassandra.gms.Gossiper.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 5
         4: .line 203
            getstatic org.apache.cassandra.gms.Gossiper.logger:Lorg/slf4j/Logger;
            ldc "My heartbeat is now {}"
            aload 0 /* this */
            getfield org.apache.cassandra.gms.Gossiper$GossipTask.this$0:Lorg/apache/cassandra/gms/Gossiper;
            getfield org.apache.cassandra.gms.Gossiper.endpointStateMap:Ljava/util/concurrent/ConcurrentMap;
            invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.gms.EndpointState
            invokevirtual org.apache.cassandra.gms.EndpointState.getHeartBeatState:()Lorg/apache/cassandra/gms/HeartBeatState;
            invokevirtual org.apache.cassandra.gms.HeartBeatState.getHeartBeatVersion:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 204
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* gDigests */
        start local 1 // java.util.List gDigests
         6: .line 205
            getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
            aload 1 /* gDigests */
            invokevirtual org.apache.cassandra.gms.Gossiper.makeRandomGossipDigest:(Ljava/util/List;)V
         7: .line 207
            aload 1 /* gDigests */
            invokeinterface java.util.List.size:()I
            ifle 29
         8: .line 209
            new org.apache.cassandra.gms.GossipDigestSyn
            dup
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getClusterName:()Ljava/lang/String;
         9: .line 210
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getPartitionerName:()Ljava/lang/String;
        10: .line 211
            aload 1 /* gDigests */
        11: .line 209
            invokespecial org.apache.cassandra.gms.GossipDigestSyn.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
            astore 2 /* digestSynMessage */
        start local 2 // org.apache.cassandra.gms.GossipDigestSyn digestSynMessage
        12: .line 212
            new org.apache.cassandra.net.MessageOut
            dup
            getstatic org.apache.cassandra.net.MessagingService$Verb.GOSSIP_DIGEST_SYN:Lorg/apache/cassandra/net/MessagingService$Verb;
        13: .line 213
            aload 2 /* digestSynMessage */
        14: .line 214
            getstatic org.apache.cassandra.gms.GossipDigestSyn.serializer:Lorg/apache/cassandra/io/IVersionedSerializer;
        15: .line 212
            invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
            astore 3 /* message */
        start local 3 // org.apache.cassandra.net.MessageOut message
        16: .line 216
            aload 0 /* this */
            getfield org.apache.cassandra.gms.Gossiper$GossipTask.this$0:Lorg/apache/cassandra/gms/Gossiper;
            aload 3 /* message */
            invokevirtual org.apache.cassandra.gms.Gossiper.doGossipToLiveMember:(Lorg/apache/cassandra/net/MessageOut;)Z
            istore 4 /* gossipedToSeed */
        start local 4 // boolean gossipedToSeed
        17: .line 219
            aload 0 /* this */
            getfield org.apache.cassandra.gms.Gossiper$GossipTask.this$0:Lorg/apache/cassandra/gms/Gossiper;
            aload 3 /* message */
            invokevirtual org.apache.cassandra.gms.Gossiper.maybeGossipToUnreachableMember:(Lorg/apache/cassandra/net/MessageOut;)V
        18: .line 237
            iload 4 /* gossipedToSeed */
            ifeq 19
            aload 0 /* this */
            getfield org.apache.cassandra.gms.Gossiper$GossipTask.this$0:Lorg/apache/cassandra/gms/Gossiper;
            getfield org.apache.cassandra.gms.Gossiper.liveEndpoints:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            aload 0 /* this */
            getfield org.apache.cassandra.gms.Gossiper$GossipTask.this$0:Lorg/apache/cassandra/gms/Gossiper;
            getfield org.apache.cassandra.gms.Gossiper.seeds:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            if_icmpge 20
        19: .line 238
      StackMap locals: org.apache.cassandra.gms.Gossiper$GossipTask java.util.List org.apache.cassandra.gms.GossipDigestSyn org.apache.cassandra.net.MessageOut int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.gms.Gossiper$GossipTask.this$0:Lorg/apache/cassandra/gms/Gossiper;
            aload 3 /* message */
            invokevirtual org.apache.cassandra.gms.Gossiper.maybeGossipToSeed:(Lorg/apache/cassandra/net/MessageOut;)V
        20: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.gms.Gossiper$GossipTask.this$0:Lorg/apache/cassandra/gms/Gossiper;
            invokevirtual org.apache.cassandra.gms.Gossiper.doStatusCheck:()V
        end local 4 // boolean gossipedToSeed
        end local 3 // org.apache.cassandra.net.MessageOut message
        end local 2 // org.apache.cassandra.gms.GossipDigestSyn digestSynMessage
        end local 1 // java.util.List gDigests
        21: .line 242
            goto 29
        22: .line 243
      StackMap locals: org.apache.cassandra.gms.Gossiper$GossipTask
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
        23: .line 245
            aload 1 /* e */
            invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
        24: .line 246
            getstatic org.apache.cassandra.gms.Gossiper.logger:Lorg/slf4j/Logger;
            ldc "Gossip error"
            aload 1 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Exception e
        25: .line 250
            getstatic org.apache.cassandra.gms.Gossiper.taskLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
            goto 30
        26: .line 249
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        27: .line 250
            getstatic org.apache.cassandra.gms.Gossiper.taskLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        28: .line 251
            aload 5
            athrow
        29: .line 250
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.gms.Gossiper.taskLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        30: .line 252
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.cassandra.gms.Gossiper$GossipTask this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   31     0              this  Lorg/apache/cassandra/gms/Gossiper$GossipTask;
            6   21     1          gDigests  Ljava/util/List<Lorg/apache/cassandra/gms/GossipDigest;>;
           12   21     2  digestSynMessage  Lorg/apache/cassandra/gms/GossipDigestSyn;
           16   21     3           message  Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/gms/GossipDigestSyn;>;
           17   21     4    gossipedToSeed  Z
           23   25     1                 e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    21      22  Class java.lang.Exception
           0    25      26  any
}
SourceFile: "Gossiper.java"
NestHost: org.apache.cassandra.gms.Gossiper
InnerClasses:
  private GossipTask = org.apache.cassandra.gms.Gossiper$GossipTask of org.apache.cassandra.gms.Gossiper
  public Verb = org.apache.cassandra.net.MessagingService$Verb of org.apache.cassandra.net.MessagingService