public class org.apache.cassandra.service.LoadBroadcaster implements org.apache.cassandra.gms.IEndpointStateChangeSubscriber
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.service.LoadBroadcaster
  super_class: java.lang.Object
{
  static final int BROADCAST_INTERVAL;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.service.LoadBroadcaster instance;
    descriptor: Lorg/apache/cassandra/service/LoadBroadcaster;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.util.concurrent.ConcurrentMap<java.net.InetAddress, java.lang.Double> loadInfo;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/net/InetAddress;Ljava/lang/Double;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 35
            ldc "cassandra.broadcast_interval_ms"
            ldc 60000
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            putstatic org.apache.cassandra.service.LoadBroadcaster.BROADCAST_INTERVAL:I
         1: .line 37
            new org.apache.cassandra.service.LoadBroadcaster
            dup
            invokespecial org.apache.cassandra.service.LoadBroadcaster.<init>:()V
            putstatic org.apache.cassandra.service.LoadBroadcaster.instance:Lorg/apache/cassandra/service/LoadBroadcaster;
         2: .line 39
            ldc Lorg/apache/cassandra/service/LoadBroadcaster;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.service.LoadBroadcaster.logger:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.LoadBroadcaster this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.apache.cassandra.service.LoadBroadcaster.loadInfo:Ljava/util/concurrent/ConcurrentMap;
         2: .line 45
            getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.gms.Gossiper.register:(Lorg/apache/cassandra/gms/IEndpointStateChangeSubscriber;)V
         3: .line 46
            return
        end local 0 // org.apache.cassandra.service.LoadBroadcaster this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/service/LoadBroadcaster;

  public void onChange(java.net.InetAddress, org.apache.cassandra.gms.ApplicationState, org.apache.cassandra.gms.VersionedValue);
    descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/ApplicationState;Lorg/apache/cassandra/gms/VersionedValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.cassandra.service.LoadBroadcaster this
        start local 1 // java.net.InetAddress endpoint
        start local 2 // org.apache.cassandra.gms.ApplicationState state
        start local 3 // org.apache.cassandra.gms.VersionedValue value
         0: .line 50
            aload 2 /* state */
            getstatic org.apache.cassandra.gms.ApplicationState.LOAD:Lorg/apache/cassandra/gms/ApplicationState;
            if_acmpeq 2
         1: .line 51
            return
         2: .line 52
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.service.LoadBroadcaster.loadInfo:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* endpoint */
            aload 3 /* value */
            getfield org.apache.cassandra.gms.VersionedValue.value:Ljava/lang/String;
            invokestatic java.lang.Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 53
            return
        end local 3 // org.apache.cassandra.gms.VersionedValue value
        end local 2 // org.apache.cassandra.gms.ApplicationState state
        end local 1 // java.net.InetAddress endpoint
        end local 0 // org.apache.cassandra.service.LoadBroadcaster this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/cassandra/service/LoadBroadcaster;
            0    4     1  endpoint  Ljava/net/InetAddress;
            0    4     2     state  Lorg/apache/cassandra/gms/ApplicationState;
            0    4     3     value  Lorg/apache/cassandra/gms/VersionedValue;
    MethodParameters:
          Name  Flags
      endpoint  
      state     
      value     

  public void onJoin(java.net.InetAddress, org.apache.cassandra.gms.EndpointState);
    descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.cassandra.service.LoadBroadcaster this
        start local 1 // java.net.InetAddress endpoint
        start local 2 // org.apache.cassandra.gms.EndpointState epState
         0: .line 57
            aload 2 /* epState */
            getstatic org.apache.cassandra.gms.ApplicationState.LOAD:Lorg/apache/cassandra/gms/ApplicationState;
            invokevirtual org.apache.cassandra.gms.EndpointState.getApplicationState:(Lorg/apache/cassandra/gms/ApplicationState;)Lorg/apache/cassandra/gms/VersionedValue;
            astore 3 /* localValue */
        start local 3 // org.apache.cassandra.gms.VersionedValue localValue
         1: .line 58
            aload 3 /* localValue */
            ifnull 3
         2: .line 60
            aload 0 /* this */
            aload 1 /* endpoint */
            getstatic org.apache.cassandra.gms.ApplicationState.LOAD:Lorg/apache/cassandra/gms/ApplicationState;
            aload 3 /* localValue */
            invokevirtual org.apache.cassandra.service.LoadBroadcaster.onChange:(Ljava/net/InetAddress;Lorg/apache/cassandra/gms/ApplicationState;Lorg/apache/cassandra/gms/VersionedValue;)V
         3: .line 62
      StackMap locals: org.apache.cassandra.gms.VersionedValue
      StackMap stack:
            return
        end local 3 // org.apache.cassandra.gms.VersionedValue localValue
        end local 2 // org.apache.cassandra.gms.EndpointState epState
        end local 1 // java.net.InetAddress endpoint
        end local 0 // org.apache.cassandra.service.LoadBroadcaster this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/cassandra/service/LoadBroadcaster;
            0    4     1    endpoint  Ljava/net/InetAddress;
            0    4     2     epState  Lorg/apache/cassandra/gms/EndpointState;
            1    4     3  localValue  Lorg/apache/cassandra/gms/VersionedValue;
    MethodParameters:
          Name  Flags
      endpoint  
      epState   

  public void beforeChange(java.net.InetAddress, org.apache.cassandra.gms.EndpointState, org.apache.cassandra.gms.ApplicationState, org.apache.cassandra.gms.VersionedValue);
    descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;Lorg/apache/cassandra/gms/ApplicationState;Lorg/apache/cassandra/gms/VersionedValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=5, args_size=5
        start local 0 // org.apache.cassandra.service.LoadBroadcaster this
        start local 1 // java.net.InetAddress endpoint
        start local 2 // org.apache.cassandra.gms.EndpointState currentState
        start local 3 // org.apache.cassandra.gms.ApplicationState newStateKey
        start local 4 // org.apache.cassandra.gms.VersionedValue newValue
         0: .line 64
            return
        end local 4 // org.apache.cassandra.gms.VersionedValue newValue
        end local 3 // org.apache.cassandra.gms.ApplicationState newStateKey
        end local 2 // org.apache.cassandra.gms.EndpointState currentState
        end local 1 // java.net.InetAddress endpoint
        end local 0 // org.apache.cassandra.service.LoadBroadcaster this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/apache/cassandra/service/LoadBroadcaster;
            0    1     1      endpoint  Ljava/net/InetAddress;
            0    1     2  currentState  Lorg/apache/cassandra/gms/EndpointState;
            0    1     3   newStateKey  Lorg/apache/cassandra/gms/ApplicationState;
            0    1     4      newValue  Lorg/apache/cassandra/gms/VersionedValue;
    MethodParameters:
              Name  Flags
      endpoint      
      currentState  
      newStateKey   
      newValue      

  public void onAlive(java.net.InetAddress, org.apache.cassandra.gms.EndpointState);
    descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.apache.cassandra.service.LoadBroadcaster this
        start local 1 // java.net.InetAddress endpoint
        start local 2 // org.apache.cassandra.gms.EndpointState state
         0: .line 66
            return
        end local 2 // org.apache.cassandra.gms.EndpointState state
        end local 1 // java.net.InetAddress endpoint
        end local 0 // org.apache.cassandra.service.LoadBroadcaster this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/cassandra/service/LoadBroadcaster;
            0    1     1  endpoint  Ljava/net/InetAddress;
            0    1     2     state  Lorg/apache/cassandra/gms/EndpointState;
    MethodParameters:
          Name  Flags
      endpoint  
      state     

  public void onDead(java.net.InetAddress, org.apache.cassandra.gms.EndpointState);
    descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.apache.cassandra.service.LoadBroadcaster this
        start local 1 // java.net.InetAddress endpoint
        start local 2 // org.apache.cassandra.gms.EndpointState state
         0: .line 68
            return
        end local 2 // org.apache.cassandra.gms.EndpointState state
        end local 1 // java.net.InetAddress endpoint
        end local 0 // org.apache.cassandra.service.LoadBroadcaster this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/cassandra/service/LoadBroadcaster;
            0    1     1  endpoint  Ljava/net/InetAddress;
            0    1     2     state  Lorg/apache/cassandra/gms/EndpointState;
    MethodParameters:
          Name  Flags
      endpoint  
      state     

  public void onRestart(java.net.InetAddress, org.apache.cassandra.gms.EndpointState);
    descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.apache.cassandra.service.LoadBroadcaster this
        start local 1 // java.net.InetAddress endpoint
        start local 2 // org.apache.cassandra.gms.EndpointState state
         0: .line 70
            return
        end local 2 // org.apache.cassandra.gms.EndpointState state
        end local 1 // java.net.InetAddress endpoint
        end local 0 // org.apache.cassandra.service.LoadBroadcaster this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/cassandra/service/LoadBroadcaster;
            0    1     1  endpoint  Ljava/net/InetAddress;
            0    1     2     state  Lorg/apache/cassandra/gms/EndpointState;
    MethodParameters:
          Name  Flags
      endpoint  
      state     

  public void onRemove(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.service.LoadBroadcaster this
        start local 1 // java.net.InetAddress endpoint
         0: .line 74
            aload 0 /* this */
            getfield org.apache.cassandra.service.LoadBroadcaster.loadInfo:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* endpoint */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 75
            return
        end local 1 // java.net.InetAddress endpoint
        end local 0 // org.apache.cassandra.service.LoadBroadcaster this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/service/LoadBroadcaster;
            0    2     1  endpoint  Ljava/net/InetAddress;
    MethodParameters:
          Name  Flags
      endpoint  

  public java.util.Map<java.net.InetAddress, java.lang.Double> getLoadInfo();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.LoadBroadcaster this
         0: .line 79
            aload 0 /* this */
            getfield org.apache.cassandra.service.LoadBroadcaster.loadInfo:Ljava/util/concurrent/ConcurrentMap;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // org.apache.cassandra.service.LoadBroadcaster this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/LoadBroadcaster;
    Signature: ()Ljava/util/Map<Ljava/net/InetAddress;Ljava/lang/Double;>;

  public void startBroadcasting();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.apache.cassandra.service.LoadBroadcaster this
         0: .line 86
            new org.apache.cassandra.service.LoadBroadcaster$1
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.service.LoadBroadcaster$1.<init>:(Lorg/apache/cassandra/service/LoadBroadcaster;)V
            astore 1 /* runnable */
        start local 1 // java.lang.Runnable runnable
         1: .line 96
            getstatic org.apache.cassandra.concurrent.ScheduledExecutors.scheduledTasks:Lorg/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor;
            aload 1 /* runnable */
            ldc 2000
            getstatic org.apache.cassandra.service.LoadBroadcaster.BROADCAST_INTERVAL:I
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.scheduleWithFixedDelay:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            pop
         2: .line 97
            return
        end local 1 // java.lang.Runnable runnable
        end local 0 // org.apache.cassandra.service.LoadBroadcaster this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/cassandra/service/LoadBroadcaster;
            1    3     1  runnable  Ljava/lang/Runnable;
}
SourceFile: "LoadBroadcaster.java"
NestMembers:
  org.apache.cassandra.service.LoadBroadcaster$1
InnerClasses:
  org.apache.cassandra.service.LoadBroadcaster$1