# MemoryAdapterFactory&lt;TSerializer&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/)

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

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/create-system-iserviceprovider-string-fe7310c6/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs#L218-L223)

```csharp
public static MemoryAdapterFactory<TSerializer> Create(IServiceProvider services, string name)
```

Creates a new `Orleans.Providers.MemoryAdapterFactory-1` instance.

### Parameters

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

### Returns

A mew `Orleans.Providers.MemoryAdapterFactory-1` instance.

## CreateAdapter {#createadapter-08915f76}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/createadapter-08915f76/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs#L131)

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

Creates a queue adapter.

### Returns

The queue adapter

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

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/createqueuecache-orleans-streams-queueid-c06758b2/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs#L178-L181)

```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-cb7e7164}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/createreceiver-orleans-streams-queueid-cb7e7164/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs#L149-L153)

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

Creates a queue receiver for the specified queueId

### Parameters

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

### Returns

The receiver.

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

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/getdeliveryfailurehandler-orleans-streams-queueid-faed82bb/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs#L187)

```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-1eb9cba0}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/getqueueadaptercache-1eb9cba0/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs#L137)

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

Creates queue message cache adapter.

### Returns

The queue adapter cache.

## GetStreamQueueMapper {#getstreamqueuemapper-b13c6fe4}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/getstreamqueuemapper-b13c6fe4/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs#L143)

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

Creates a queue mapper.

### Returns

The queue mapper.

## Init {#init-323aa17f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/init-323aa17f/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs#L105-L114)

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

Initializes this instance.

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

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/queuemessagebatchasync-1-orleans-runtime-streamid-system-collections-generic-ien-40e3fcc5/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs#L161-L172)

```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.
