org.apache.cassandra.streaming

## Class StreamManager

- java.lang.Object
- - org.apache.cassandra.streaming.StreamManager

All Implemented Interfaces:
  javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, StreamManagerMBean

    public class StreamManager
    extends java.lang.Object
    implements StreamManagerMBean

StreamManager manages currently running `StreamResultFuture`s and provides status of all operation invoked. All stream operation should be created through this class to track streaming status and progress.

### Nested Class Summary

Nested Classes
`static class` `StreamManager.StreamRateLimiter`

### Field Summary

Fields
`static StreamManager` `instance`

### Fields inherited from interface org.apache.cassandra.streaming.StreamManagerMBean

`OBJECT_NAME`

### Constructor Summary

Constructors
Constructor and Description
`StreamManager()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `addNotificationListener(javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)`
`java.util.Set<javax.management.openmbean.CompositeData>` `getCurrentStreams()` Returns the current state of all ongoing streams.
`javax.management.MBeanNotificationInfo[]` `getNotificationInfo()`
`static StreamManager.StreamRateLimiter` `getRateLimiter(java.net.InetAddress peer)` Gets streaming rate limiter.
`StreamResultFuture` `getReceivingStream(java.util.UUID planId)`
`void` `register(StreamResultFuture result)`
`void` `registerReceiving(StreamResultFuture result)`
`void` `removeNotificationListener(javax.management.NotificationListener listener)`
`void` `removeNotificationListener(javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### instance

    public static final StreamManager instance

### Constructor Detail

#### StreamManager

    public StreamManager()

### Method Detail

#### getRateLimiter

    public static StreamManager.StreamRateLimiter getRateLimiter(java.net.InetAddress peer)

Gets streaming rate limiter. When stream_throughput_outbound_megabits_per_sec is 0, this returns rate limiter with the rate of Double.MAX_VALUE bytes per second. Rate unit is bytes per sec.

Returns:
  StreamRateLimiter with rate limit set based on peer location.

#### getCurrentStreams

    public java.util.Set<javax.management.openmbean.CompositeData> getCurrentStreams()

Description copied from interface: `StreamManagerMBean`
Returns the current state of all ongoing streams.

Specified by:
  `getCurrentStreams` in interface `StreamManagerMBean`

#### register

    public void register(StreamResultFuture result)

#### registerReceiving

    public void registerReceiving(StreamResultFuture result)

#### getReceivingStream

    public StreamResultFuture getReceivingStream(java.util.UUID planId)

#### addNotificationListener

    public void addNotificationListener(javax.management.NotificationListener listener,
                                        javax.management.NotificationFilter filter,
                                        java.lang.Object handback)

Specified by:
  `addNotificationListener` in interface `javax.management.NotificationBroadcaster`

#### removeNotificationListener

    public void removeNotificationListener(javax.management.NotificationListener listener)
                                    throws javax.management.ListenerNotFoundException

Specified by:
  `removeNotificationListener` in interface `javax.management.NotificationBroadcaster`
Throws:
  `javax.management.ListenerNotFoundException`

#### removeNotificationListener

    public void removeNotificationListener(javax.management.NotificationListener listener,
                                           javax.management.NotificationFilter filter,
                                           java.lang.Object handback)
                                    throws javax.management.ListenerNotFoundException

Specified by:
  `removeNotificationListener` in interface `javax.management.NotificationEmitter`
Throws:
  `javax.management.ListenerNotFoundException`

#### getNotificationInfo

    public javax.management.MBeanNotificationInfo[] getNotificationInfo()

Specified by:
  `getNotificationInfo` in interface `javax.management.NotificationBroadcaster`