# GeneratorAdapterFactory Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/)

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

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/methods/create-system-iserviceprovider-string-b9e6a356/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Generator/GeneratorAdapterFactory.cs#L282-L286)

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

Creates a new [GeneratorAdapterFactory](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/) instance.

### Parameters

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

### Returns

The newly created [GeneratorAdapterFactory](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/) instance.

## CreateAdapter {#createadapter-fb05e626}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/methods/createadapter-fb05e626/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Generator/GeneratorAdapterFactory.cs#L130)

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

Creates a queue adapter.

### Returns

The queue adapter

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

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/methods/createqueuecache-orleans-streams-queueid-4bb6c022/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Generator/GeneratorAdapterFactory.cs#L263-L271)

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

Create a cache for a given queue id

### Parameters

- `queueId` (`QueueId`): The queue id.

### Returns

The queue cache..

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

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/methods/createreceiver-orleans-streams-queueid-edf484b4/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Generator/GeneratorAdapterFactory.cs#L161-L168)

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

Creates a queue receiver for the specified queueId

### Parameters

- `queueId` (`QueueId`): The queue identifier.

### Returns

The receiver.

## ExecuteCommand(int, object) {#executecommand-int-object-211888cc}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/methods/executecommand-int-object-211888cc/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Generator/GeneratorAdapterFactory.cs#L174-L190)

```csharp
public Task<object> ExecuteCommand(int command, object arg)
```

A function to execute a control command.

### Parameters

- `command` (`int`): A serial number of the command.
- `arg` (`object`): An opaque command argument.

### Returns

The value returned from the command handler.

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

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/methods/getdeliveryfailurehandler-orleans-streams-queueid-59f7e4cb/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Generator/GeneratorAdapterFactory.cs#L148)

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

Acquire delivery failure handler for a queue

### Parameters

- `queueId` (`QueueId`): The queue identifier.

### Returns

The stream failure handler.

## GetQueueAdapterCache {#getqueueadaptercache-8f063b4c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/methods/getqueueadaptercache-8f063b4c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Generator/GeneratorAdapterFactory.cs#L136)

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

Creates queue message cache adapter.

### Returns

The queue adapter cache.

## GetStreamQueueMapper {#getstreamqueuemapper-12a35a30}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/methods/getstreamqueuemapper-12a35a30/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Generator/GeneratorAdapterFactory.cs#L142)

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

Creates a queue mapper.

### Returns

The queue mapper.

## Init {#init-080b80cf}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/methods/init-080b80cf/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Generator/GeneratorAdapterFactory.cs#L101-L113)

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

Initializes the factory.

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

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.generator.generatoradapterfactory/methods/queuemessagebatchasync-1-orleans-runtime-streamid-system-collections-generic-ien-05ad6319/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Generator/GeneratorAdapterFactory.cs#L155)

```csharp
public 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`): The stream identifier.
- `events` (`IEnumerable<T>`): The events.
- `token` (`StreamSequenceToken`): The token.
- `requestContext` (`Dictionary<string, object>`): The request context.

### Returns

Task.
