# MemoryAdapterFactory&lt;TSerializer&gt;

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/MemoryStreams/MemoryAdapterFactory.cs#L26)

```csharp
public class MemoryAdapterFactory<TSerializer> : IQueueAdapter, IQueueAdapterCache, IQueueAdapterFactory
    where TSerializer : class, Orleans.Providers.IMemoryMessageBodySerializer
```

Adapter factory for in memory stream provider. This factory acts as the adapter and the adapter factory. The events are stored in an in-memory grain that behaves as an event queue, this provider adapter is primarily used for testing

## Constructors

- [MemoryAdapterFactory&lt;TSerializer&gt;(string, StreamCacheEvictionOptions, StreamStatisticOptions, HashRingStreamQueueMapperOptions, IServiceProvider, IGrainFactory, ILoggerFactory)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/constructors/constructor-string-orleans-configuration-streamcacheevictionoptions-orleans-conf-ad7b06e6/)

## Properties

- [Direction](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/properties/direction-7ea62fb3/)
- [IsRewindable](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/properties/isrewindable-2518adf3/)
- [Name](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/properties/name-862a0388/)

## Methods

- [Create(IServiceProvider, string)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/create-system-iserviceprovider-string-fe7310c6/)
- [CreateAdapter](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/createadapter-08915f76/)
- [CreateQueueCache(QueueId)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/createqueuecache-orleans-streams-queueid-c06758b2/)
- [CreateReceiver(QueueId)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/createreceiver-orleans-streams-queueid-cb7e7164/)
- [GetDeliveryFailureHandler(QueueId)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/getdeliveryfailurehandler-orleans-streams-queueid-faed82bb/)
- [GetQueueAdapterCache](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/getqueueadaptercache-1eb9cba0/)
- [GetStreamQueueMapper](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/getstreamqueuemapper-b13c6fe4/)
- [Init](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/init-323aa17f/)
- [QueueMessageBatchAsync(StreamId, IEnumerable&lt;T&gt;, StreamSequenceToken, Dictionary&lt;string, object&gt;)](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/methods/queuemessagebatchasync-1-orleans-runtime-streamid-system-collections-generic-ien-40e3fcc5/)
