# EventHubAdapterFactory Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubadapterfactory/)

## Create(IServiceProvider, string) {#create-system-iserviceprovider-string-148dd34a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubadapterfactory/methods/create-system-iserviceprovider-string-148dd34a/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubAdapterFactory.cs#L309-L319)

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

### Parameters

- `services` (`IServiceProvider`)
- `name` (`string`)

## CreateAdapter {#createadapter-2e19c240}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubadapterfactory/methods/createadapter-2e19c240/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubAdapterFactory.cs#L173-L179)

```csharp
public Task<IQueueAdapter> CreateAdapter()
```

Create queue adapter.

## CreateQueueCache(QueueId) {#createqueuecache-orleans-streams-queueid-cc376094}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubadapterfactory/methods/createqueuecache-orleans-streams-queueid-cc376094/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubAdapterFactory.cs#L243)

```csharp
public IQueueCache CreateQueueCache(QueueId queueId)
```

Create a cache for a given queue id

### Parameters

- `queueId` (`QueueId`)

## CreateReceiver(QueueId) {#createreceiver-orleans-streams-queueid-09320c86}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubadapterfactory/methods/createreceiver-orleans-streams-queueid-09320c86/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubAdapterFactory.cs#L234)

```csharp
public IQueueAdapterReceiver CreateReceiver(QueueId queueId)
```

Creates a queue receiver for the specified queueId

### Parameters

- `queueId` (`QueueId`)

## GetDeliveryFailureHandler(QueueId) {#getdeliveryfailurehandler-orleans-streams-queueid-e8f79199}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubadapterfactory/methods/getdeliveryfailurehandler-orleans-streams-queueid-e8f79199/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubAdapterFactory.cs#L207)

```csharp
public Task<IStreamFailureHandler> GetDeliveryFailureHandler(QueueId queueId)
```

Acquire delivery failure handler for a queue

### Parameters

- `queueId` (`QueueId`)

## GetQueueAdapterCache {#getqueueadaptercache-ee3e836c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubadapterfactory/methods/getqueueadaptercache-ee3e836c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubAdapterFactory.cs#L187)

```csharp
public IQueueAdapterCache GetQueueAdapterCache()
```

Create queue message cache adapter

## GetStreamQueueMapper {#getstreamqueuemapper-dcc4b31c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubadapterfactory/methods/getstreamqueuemapper-dcc4b31c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubAdapterFactory.cs#L197)

```csharp
public IStreamQueueMapper GetStreamQueueMapper()
```

Create queue mapper

## Init {#init-ca462070}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubadapterfactory/methods/init-ca462070/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubAdapterFactory.cs#L134-L160)

```csharp
public virtual void Init()
```

## QueueMessageBatchAsync(StreamId, IEnumerable&lt;T&gt;, StreamSequenceToken, Dictionary&lt;string, object&gt;) {#queuemessagebatchasync-1-orleans-runtime-streamid-system-collections-generic-ien-f34c3612}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming.eventhubs/orleans.streaming.eventhubs.eventhubadapterfactory/methods/queuemessagebatchasync-1-orleans-runtime-streamid-system-collections-generic-ien-f34c3612/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Azure/Orleans.Streaming.EventHubs/Providers/Streams/EventHub/EventHubAdapterFactory.cs#L222-L224)

```csharp
public virtual Task QueueMessageBatchAsync<T>(StreamId streamId, IEnumerable<T> events, StreamSequenceToken token, Dictionary<string, object> requestContext)
```

Writes a set of events to the queue as a single batch associated with the provided streamId.

### Parameters

- `streamId` (`StreamId`)
- `events` (`IEnumerable<T>`)
- `token` (`StreamSequenceToken`)
- `requestContext` (`Dictionary<string, object>`)
