# LeaseBasedQueueBalancer Methods

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

## Create(IServiceProvider, string) {#create-system-iserviceprovider-string-2bf7e330}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/methods/create-system-iserviceprovider-string-2bf7e330/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/QueueBalancer/LeaseBasedQueueBalancer.cs#L67-L71)

```csharp
public static IStreamQueueBalancer Create(IServiceProvider services, string name)
```

Creates a new [LeaseBasedQueueBalancer](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/) instance.

### Parameters

- `services` (`IServiceProvider`): The services.
- `name` (`string`): The name.

### Returns

The new [LeaseBasedQueueBalancer](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/) instance.

## GetMyQueues {#getmyqueues-75a8d36e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/methods/getmyqueues-75a8d36e/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/QueueBalancer/LeaseBasedQueueBalancer.cs#L131-L136)

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

Retrieves the latest queue distribution for this balancer.

### Returns

Queue allocated to this balancer.

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

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/methods/initialize-orleans-streams-istreamqueuemapper-2bcc1659/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/QueueBalancer/LeaseBasedQueueBalancer.cs#L77-L98)

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

Initializes this instance.

### Parameters

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

### Returns

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

## Shutdown {#shutdown-d4b21e66}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.leasebasedqueuebalancer/methods/shutdown-d4b21e66/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/QueueBalancer/LeaseBasedQueueBalancer.cs#L103-L126)

```csharp
public override Task Shutdown()
```

Shutdown the queue balancer.

### Returns

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