public class org.apache.cassandra.metrics.HintedHandoffMetrics
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.metrics.HintedHandoffMetrics
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.cassandra.metrics.MetricNameFactory factory;
    descriptor: Lorg/apache/cassandra/metrics/MetricNameFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final com.google.common.cache.LoadingCache<java.net.InetAddress, org.apache.cassandra.metrics.HintedHandoffMetrics$DifferencingCounter> notStored;
    descriptor: Lcom/google/common/cache/LoadingCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/google/common/cache/LoadingCache<Ljava/net/InetAddress;Lorg/apache/cassandra/metrics/HintedHandoffMetrics$DifferencingCounter;>;

  private final com.google.common.cache.LoadingCache<java.net.InetAddress, com.codahale.metrics.Counter> createdHintCounts;
    descriptor: Lcom/google/common/cache/LoadingCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/google/common/cache/LoadingCache<Ljava/net/InetAddress;Lcom/codahale/metrics/Counter;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 40
            ldc Lorg/apache/cassandra/metrics/HintedHandoffMetrics;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.metrics.HintedHandoffMetrics.logger:Lorg/slf4j/Logger;
         1: .line 42
            new org.apache.cassandra.metrics.DefaultNameFactory
            dup
            ldc "HintedHandOffManager"
            invokespecial org.apache.cassandra.metrics.DefaultNameFactory.<init>:(Ljava/lang/String;)V
            putstatic org.apache.cassandra.metrics.HintedHandoffMetrics.factory:Lorg/apache/cassandra/metrics/MetricNameFactory;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.cassandra.metrics.HintedHandoffMetrics this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 0 /* this */
            invokestatic com.google.common.cache.CacheBuilder.newBuilder:()Lcom/google/common/cache/CacheBuilder;
            new org.apache.cassandra.metrics.HintedHandoffMetrics$1
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.metrics.HintedHandoffMetrics$1.<init>:(Lorg/apache/cassandra/metrics/HintedHandoffMetrics;)V
            invokevirtual com.google.common.cache.CacheBuilder.build:(Lcom/google/common/cache/CacheLoader;)Lcom/google/common/cache/LoadingCache;
            putfield org.apache.cassandra.metrics.HintedHandoffMetrics.notStored:Lcom/google/common/cache/LoadingCache;
         2: .line 54
            aload 0 /* this */
            invokestatic com.google.common.cache.CacheBuilder.newBuilder:()Lcom/google/common/cache/CacheBuilder;
            new org.apache.cassandra.metrics.HintedHandoffMetrics$2
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.metrics.HintedHandoffMetrics$2.<init>:(Lorg/apache/cassandra/metrics/HintedHandoffMetrics;)V
            invokevirtual com.google.common.cache.CacheBuilder.build:(Lcom/google/common/cache/CacheLoader;)Lcom/google/common/cache/LoadingCache;
            putfield org.apache.cassandra.metrics.HintedHandoffMetrics.createdHintCounts:Lcom/google/common/cache/LoadingCache;
         3: .line 38
            return
        end local 0 // org.apache.cassandra.metrics.HintedHandoffMetrics this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/metrics/HintedHandoffMetrics;

  public void incrCreatedHints(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.metrics.HintedHandoffMetrics this
        start local 1 // java.net.InetAddress address
         0: .line 64
            aload 0 /* this */
            getfield org.apache.cassandra.metrics.HintedHandoffMetrics.createdHintCounts:Lcom/google/common/cache/LoadingCache;
            aload 1 /* address */
            invokeinterface com.google.common.cache.LoadingCache.getUnchecked:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.codahale.metrics.Counter
            invokevirtual com.codahale.metrics.Counter.inc:()V
         1: .line 65
            return
        end local 1 // java.net.InetAddress address
        end local 0 // org.apache.cassandra.metrics.HintedHandoffMetrics this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/cassandra/metrics/HintedHandoffMetrics;
            0    2     1  address  Ljava/net/InetAddress;
    MethodParameters:
         Name  Flags
      address  

  public void incrPastWindow(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.metrics.HintedHandoffMetrics this
        start local 1 // java.net.InetAddress address
         0: .line 69
            aload 0 /* this */
            getfield org.apache.cassandra.metrics.HintedHandoffMetrics.notStored:Lcom/google/common/cache/LoadingCache;
            aload 1 /* address */
            invokeinterface com.google.common.cache.LoadingCache.getUnchecked:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.metrics.HintedHandoffMetrics$DifferencingCounter
            invokevirtual org.apache.cassandra.metrics.HintedHandoffMetrics$DifferencingCounter.mark:()V
         1: .line 70
            return
        end local 1 // java.net.InetAddress address
        end local 0 // org.apache.cassandra.metrics.HintedHandoffMetrics this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/cassandra/metrics/HintedHandoffMetrics;
            0    2     1  address  Ljava/net/InetAddress;
    MethodParameters:
         Name  Flags
      address  

  public void log();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.apache.cassandra.metrics.HintedHandoffMetrics this
         0: .line 74
            aload 0 /* this */
            getfield org.apache.cassandra.metrics.HintedHandoffMetrics.notStored:Lcom/google/common/cache/LoadingCache;
            invokeinterface com.google.common.cache.LoadingCache.asMap:()Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 7
      StackMap locals: org.apache.cassandra.metrics.HintedHandoffMetrics top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         2: .line 76
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.cassandra.metrics.HintedHandoffMetrics$DifferencingCounter
            invokevirtual org.apache.cassandra.metrics.HintedHandoffMetrics$DifferencingCounter.difference:()J
            lstore 3 /* difference */
        start local 3 // long difference
         3: .line 77
            lload 3 /* difference */
            lconst_0
            lcmp
            ifne 5
         4: .line 78
            goto 7
         5: .line 79
      StackMap locals: org.apache.cassandra.metrics.HintedHandoffMetrics java.util.Map$Entry java.util.Iterator long
      StackMap stack:
            getstatic org.apache.cassandra.metrics.HintedHandoffMetrics.logger:Lorg/slf4j/Logger;
            ldc "{} has {} dropped hints, because node is down past configured hint window."
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            lload 3 /* difference */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 80
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.net.InetAddress
            invokestatic org.apache.cassandra.utils.UUIDGen.getTimeUUID:()Ljava/util/UUID;
            lload 3 /* difference */
            l2i
            invokestatic org.apache.cassandra.db.SystemKeyspace.updateHintsDropped:(Ljava/net/InetAddress;Ljava/util/UUID;I)V
        end local 3 // long difference
        end local 1 // java.util.Map$Entry entry
         7: .line 74
      StackMap locals: org.apache.cassandra.metrics.HintedHandoffMetrics top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 82
            return
        end local 0 // org.apache.cassandra.metrics.HintedHandoffMetrics this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/apache/cassandra/metrics/HintedHandoffMetrics;
            2    7     1       entry  Ljava/util/Map$Entry<Ljava/net/InetAddress;Lorg/apache/cassandra/metrics/HintedHandoffMetrics$DifferencingCounter;>;
            3    7     3  difference  J
}
SourceFile: "HintedHandoffMetrics.java"
NestMembers:
  org.apache.cassandra.metrics.HintedHandoffMetrics$1  org.apache.cassandra.metrics.HintedHandoffMetrics$2  org.apache.cassandra.metrics.HintedHandoffMetrics$DifferencingCounter
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  org.apache.cassandra.metrics.HintedHandoffMetrics$1
  org.apache.cassandra.metrics.HintedHandoffMetrics$2
  public DifferencingCounter = org.apache.cassandra.metrics.HintedHandoffMetrics$DifferencingCounter of org.apache.cassandra.metrics.HintedHandoffMetrics