# IStreamQueueBalancer Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamqueuebalancer/)

## GetMyQueues {#getmyqueues-848c5cd4}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamqueuebalancer/methods/getmyqueues-848c5cd4/)

```csharp
public abstract IEnumerable<QueueId> GetMyQueues()
```

Retrieves the latest queue distribution for this balancer.

### Returns

Queue allocated to this balancer.

## Initialize(IStreamQueueMapper) {#initialize-orleans-streams-istreamqueuemapper-e32cea5b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamqueuebalancer/methods/initialize-orleans-streams-istreamqueuemapper-e32cea5b/)

```csharp
public abstract Task Initialize(IStreamQueueMapper queueMapper)
```

Initializes this instance.

### Parameters

- `queueMapper` (`IStreamQueueMapper`): The queue mapper.

### Returns

A `System.Threading.Tasks.Task` representing the operation.

## Shutdown {#shutdown-79a490e8}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamqueuebalancer/methods/shutdown-79a490e8/)

```csharp
public abstract Task Shutdown()
```

Shutdown the queue balancer.

### Returns

A `System.Threading.Tasks.Task` representing the operation.

## SubscribeToQueueDistributionChangeEvents(IStreamQueueBalanceListener) {#subscribetoqueuedistributionchangeevents-orleans-streams-istreamqueuebalancelist-909ab5b0}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamqueuebalancer/methods/subscribetoqueuedistributionchangeevents-orleans-streams-istreamqueuebalancelist-909ab5b0/)

```csharp
public abstract bool SubscribeToQueueDistributionChangeEvents(IStreamQueueBalanceListener observer)
```

Subscribes to receive queue distribution change notifications

### Parameters

- `observer` (`IStreamQueueBalanceListener`): An observer interface to receive queue distribution change notifications.

### Returns

A value indicating whether subscription succeeded or not.

## UnSubscribeFromQueueDistributionChangeEvents(IStreamQueueBalanceListener) {#unsubscribefromqueuedistributionchangeevents-orleans-streams-istreamqueuebalance-a3b1cbec}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamqueuebalancer/methods/unsubscribefromqueuedistributionchangeevents-orleans-streams-istreamqueuebalance-a3b1cbec/)

```csharp
public abstract bool UnSubscribeFromQueueDistributionChangeEvents(IStreamQueueBalanceListener observer)
```

Unsubscribes from receiving queue distribution notifications.

### Parameters

- `observer` (`IStreamQueueBalanceListener`): An observer interface to receive queue distribution change notifications.

### Returns

A value indicating whether teh unsubscription succeeded or not
