# HashRingBasedStreamQueueMapper

Package: [Microsoft.Orleans.Streaming](/orleans/docs/api/csharp/microsoft.orleans.streaming/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Streaming) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/QueueAdapters/HashRingBasedStreamQueueMapper.cs#L11)

```csharp
public class HashRingBasedStreamQueueMapper : IConsistentRingStreamQueueMapper, IStreamQueueMapper
```

A [IConsistentRingStreamQueueMapper](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.iconsistentringstreamqueuemapper/) and hence [IStreamQueueMapper](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamqueuemapper/) which balances queues by mapping them onto a hash ring consisting of silos.

## Constructors

- [HashRingBasedStreamQueueMapper(HashRingStreamQueueMapperOptions, string)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.hashringbasedstreamqueuemapper/constructors/constructor-orleans-configuration-hashringstreamqueuemapperoptions-string-cdc4c4cc/)

## Methods

- [GetAllQueues](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.hashringbasedstreamqueuemapper/methods/getallqueues-3914f8c2/)
- [GetQueueForStream(StreamId)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.hashringbasedstreamqueuemapper/methods/getqueueforstream-orleans-runtime-streamid-4f8ea7f8/)
- [GetQueuesForRange(IRingRange)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.hashringbasedstreamqueuemapper/methods/getqueuesforrange-orleans-runtime-iringrange-0b3ddfb8/)
- [ToString](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.hashringbasedstreamqueuemapper/methods/tostring-be677eeb/)
