public class org.apache.cassandra.streaming.StreamManager implements org.apache.cassandra.streaming.StreamManagerMBean
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.streaming.StreamManager
  super_class: java.lang.Object
{
  public static final org.apache.cassandra.streaming.StreamManager instance;
    descriptor: Lorg/apache/cassandra/streaming/StreamManager;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final org.apache.cassandra.streaming.management.StreamEventJMXNotifier notifier;
    descriptor: Lorg/apache/cassandra/streaming/management/StreamEventJMXNotifier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.util.UUID, org.apache.cassandra.streaming.StreamResultFuture> initiatedStreams;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/util/UUID;Lorg/apache/cassandra/streaming/StreamResultFuture;>;

  private final java.util.Map<java.util.UUID, org.apache.cassandra.streaming.StreamResultFuture> receivingStreams;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/util/UUID;Lorg/apache/cassandra/streaming/StreamResultFuture;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 49
            new org.apache.cassandra.streaming.StreamManager
            dup
            invokespecial org.apache.cassandra.streaming.StreamManager.<init>:()V
            putstatic org.apache.cassandra.streaming.StreamManager.instance:Lorg/apache/cassandra/streaming/StreamManager;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.streaming.StreamManager this
         0: .line 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 103
            aload 0 /* this */
            new org.apache.cassandra.streaming.management.StreamEventJMXNotifier
            dup
            invokespecial org.apache.cassandra.streaming.management.StreamEventJMXNotifier.<init>:()V
            putfield org.apache.cassandra.streaming.StreamManager.notifier:Lorg/apache/cassandra/streaming/management/StreamEventJMXNotifier;
         2: .line 110
            aload 0 /* this */
            new org.cliffc.high_scale_lib.NonBlockingHashMap
            dup
            invokespecial org.cliffc.high_scale_lib.NonBlockingHashMap.<init>:()V
            putfield org.apache.cassandra.streaming.StreamManager.initiatedStreams:Ljava/util/Map;
         3: .line 111
            aload 0 /* this */
            new org.cliffc.high_scale_lib.NonBlockingHashMap
            dup
            invokespecial org.cliffc.high_scale_lib.NonBlockingHashMap.<init>:()V
            putfield org.apache.cassandra.streaming.StreamManager.receivingStreams:Ljava/util/Map;
         4: .line 47
            return
        end local 0 // org.apache.cassandra.streaming.StreamManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/streaming/StreamManager;

  public static org.apache.cassandra.streaming.StreamManager$StreamRateLimiter getRateLimiter(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Lorg/apache/cassandra/streaming/StreamManager$StreamRateLimiter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.InetAddress peer
         0: .line 61
            new org.apache.cassandra.streaming.StreamManager$StreamRateLimiter
            dup
            aload 0 /* peer */
            invokespecial org.apache.cassandra.streaming.StreamManager$StreamRateLimiter.<init>:(Ljava/net/InetAddress;)V
            areturn
        end local 0 // java.net.InetAddress peer
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  peer  Ljava/net/InetAddress;
    MethodParameters:
      Name  Flags
      peer  

  public java.util.Set<javax.management.openmbean.CompositeData> getCurrentStreams();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.streaming.StreamManager this
         0: .line 115
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamManager.initiatedStreams:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamManager.receivingStreams:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic com.google.common.collect.Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
            new org.apache.cassandra.streaming.StreamManager$1
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.streaming.StreamManager$1.<init>:(Lorg/apache/cassandra/streaming/StreamManager;)V
            invokestatic com.google.common.collect.Iterables.transform:(Ljava/lang/Iterable;Lcom/google/common/base/Function;)Ljava/lang/Iterable;
            invokestatic com.google.common.collect.Sets.newHashSet:(Ljava/lang/Iterable;)Ljava/util/HashSet;
            areturn
        end local 0 // org.apache.cassandra.streaming.StreamManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/streaming/StreamManager;
    Signature: ()Ljava/util/Set<Ljavax/management/openmbean/CompositeData;>;

  public void register(org.apache.cassandra.streaming.StreamResultFuture);
    descriptor: (Lorg/apache/cassandra/streaming/StreamResultFuture;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.streaming.StreamManager this
        start local 1 // org.apache.cassandra.streaming.StreamResultFuture result
         0: .line 126
            aload 1 /* result */
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamManager.notifier:Lorg/apache/cassandra/streaming/management/StreamEventJMXNotifier;
            invokevirtual org.apache.cassandra.streaming.StreamResultFuture.addEventListener:(Lorg/apache/cassandra/streaming/StreamEventHandler;)V
         1: .line 128
            aload 1 /* result */
            new org.apache.cassandra.streaming.StreamManager$2
            dup
            aload 0 /* this */
            aload 1 /* result */
            invokespecial org.apache.cassandra.streaming.StreamManager$2.<init>:(Lorg/apache/cassandra/streaming/StreamManager;Lorg/apache/cassandra/streaming/StreamResultFuture;)V
         2: .line 134
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
         3: .line 128
            invokevirtual org.apache.cassandra.streaming.StreamResultFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
         4: .line 136
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamManager.initiatedStreams:Ljava/util/Map;
            aload 1 /* result */
            getfield org.apache.cassandra.streaming.StreamResultFuture.planId:Ljava/util/UUID;
            aload 1 /* result */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 137
            return
        end local 1 // org.apache.cassandra.streaming.StreamResultFuture result
        end local 0 // org.apache.cassandra.streaming.StreamManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/cassandra/streaming/StreamManager;
            0    6     1  result  Lorg/apache/cassandra/streaming/StreamResultFuture;
    MethodParameters:
        Name  Flags
      result  final

  public void registerReceiving(org.apache.cassandra.streaming.StreamResultFuture);
    descriptor: (Lorg/apache/cassandra/streaming/StreamResultFuture;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.streaming.StreamManager this
        start local 1 // org.apache.cassandra.streaming.StreamResultFuture result
         0: .line 141
            aload 1 /* result */
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamManager.notifier:Lorg/apache/cassandra/streaming/management/StreamEventJMXNotifier;
            invokevirtual org.apache.cassandra.streaming.StreamResultFuture.addEventListener:(Lorg/apache/cassandra/streaming/StreamEventHandler;)V
         1: .line 143
            aload 1 /* result */
            new org.apache.cassandra.streaming.StreamManager$3
            dup
            aload 0 /* this */
            aload 1 /* result */
            invokespecial org.apache.cassandra.streaming.StreamManager$3.<init>:(Lorg/apache/cassandra/streaming/StreamManager;Lorg/apache/cassandra/streaming/StreamResultFuture;)V
         2: .line 149
            invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
         3: .line 143
            invokevirtual org.apache.cassandra.streaming.StreamResultFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
         4: .line 151
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamManager.receivingStreams:Ljava/util/Map;
            aload 1 /* result */
            getfield org.apache.cassandra.streaming.StreamResultFuture.planId:Ljava/util/UUID;
            aload 1 /* result */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 152
            return
        end local 1 // org.apache.cassandra.streaming.StreamResultFuture result
        end local 0 // org.apache.cassandra.streaming.StreamManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/cassandra/streaming/StreamManager;
            0    6     1  result  Lorg/apache/cassandra/streaming/StreamResultFuture;
    MethodParameters:
        Name  Flags
      result  final

  public org.apache.cassandra.streaming.StreamResultFuture getReceivingStream(java.util.UUID);
    descriptor: (Ljava/util/UUID;)Lorg/apache/cassandra/streaming/StreamResultFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.streaming.StreamManager this
        start local 1 // java.util.UUID planId
         0: .line 156
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamManager.receivingStreams:Ljava/util/Map;
            aload 1 /* planId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.streaming.StreamResultFuture
            areturn
        end local 1 // java.util.UUID planId
        end local 0 // org.apache.cassandra.streaming.StreamManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/cassandra/streaming/StreamManager;
            0    1     1  planId  Ljava/util/UUID;
    MethodParameters:
        Name  Flags
      planId  

  public void addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object);
    descriptor: (Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.cassandra.streaming.StreamManager this
        start local 1 // javax.management.NotificationListener listener
        start local 2 // javax.management.NotificationFilter filter
        start local 3 // java.lang.Object handback
         0: .line 161
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamManager.notifier:Lorg/apache/cassandra/streaming/management/StreamEventJMXNotifier;
            aload 1 /* listener */
            aload 2 /* filter */
            aload 3 /* handback */
            invokevirtual org.apache.cassandra.streaming.management.StreamEventJMXNotifier.addNotificationListener:(Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
         1: .line 162
            return
        end local 3 // java.lang.Object handback
        end local 2 // javax.management.NotificationFilter filter
        end local 1 // javax.management.NotificationListener listener
        end local 0 // org.apache.cassandra.streaming.StreamManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/streaming/StreamManager;
            0    2     1  listener  Ljavax/management/NotificationListener;
            0    2     2    filter  Ljavax/management/NotificationFilter;
            0    2     3  handback  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      listener  
      filter    
      handback  

  public void removeNotificationListener(javax.management.NotificationListener);
    descriptor: (Ljavax/management/NotificationListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.streaming.StreamManager this
        start local 1 // javax.management.NotificationListener listener
         0: .line 166
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamManager.notifier:Lorg/apache/cassandra/streaming/management/StreamEventJMXNotifier;
            aload 1 /* listener */
            invokevirtual org.apache.cassandra.streaming.management.StreamEventJMXNotifier.removeNotificationListener:(Ljavax/management/NotificationListener;)V
         1: .line 167
            return
        end local 1 // javax.management.NotificationListener listener
        end local 0 // org.apache.cassandra.streaming.StreamManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/streaming/StreamManager;
            0    2     1  listener  Ljavax/management/NotificationListener;
    Exceptions:
      throws javax.management.ListenerNotFoundException
    MethodParameters:
          Name  Flags
      listener  

  public void removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object);
    descriptor: (Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.cassandra.streaming.StreamManager this
        start local 1 // javax.management.NotificationListener listener
        start local 2 // javax.management.NotificationFilter filter
        start local 3 // java.lang.Object handback
         0: .line 171
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamManager.notifier:Lorg/apache/cassandra/streaming/management/StreamEventJMXNotifier;
            aload 1 /* listener */
            aload 2 /* filter */
            aload 3 /* handback */
            invokevirtual org.apache.cassandra.streaming.management.StreamEventJMXNotifier.removeNotificationListener:(Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
         1: .line 172
            return
        end local 3 // java.lang.Object handback
        end local 2 // javax.management.NotificationFilter filter
        end local 1 // javax.management.NotificationListener listener
        end local 0 // org.apache.cassandra.streaming.StreamManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/streaming/StreamManager;
            0    2     1  listener  Ljavax/management/NotificationListener;
            0    2     2    filter  Ljavax/management/NotificationFilter;
            0    2     3  handback  Ljava/lang/Object;
    Exceptions:
      throws javax.management.ListenerNotFoundException
    MethodParameters:
          Name  Flags
      listener  
      filter    
      handback  

  public javax.management.MBeanNotificationInfo[] getNotificationInfo();
    descriptor: ()[Ljavax/management/MBeanNotificationInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.streaming.StreamManager this
         0: .line 176
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamManager.notifier:Lorg/apache/cassandra/streaming/management/StreamEventJMXNotifier;
            invokevirtual org.apache.cassandra.streaming.management.StreamEventJMXNotifier.getNotificationInfo:()[Ljavax/management/MBeanNotificationInfo;
            areturn
        end local 0 // org.apache.cassandra.streaming.StreamManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/streaming/StreamManager;
}
SourceFile: "StreamManager.java"
NestMembers:
  org.apache.cassandra.streaming.StreamManager$1  org.apache.cassandra.streaming.StreamManager$2  org.apache.cassandra.streaming.StreamManager$3  org.apache.cassandra.streaming.StreamManager$StreamRateLimiter
InnerClasses:
  org.apache.cassandra.streaming.StreamManager$1
  org.apache.cassandra.streaming.StreamManager$2
  org.apache.cassandra.streaming.StreamManager$3
  public StreamRateLimiter = org.apache.cassandra.streaming.StreamManager$StreamRateLimiter of org.apache.cassandra.streaming.StreamManager