# PooledQueueCache.PooledQueueCache(ICacheDataAdapter, ILogger, ICacheMonitor, TimeSpan?, TimeSpan?)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledqueuecache/) | [Constructors](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledqueuecache/constructors/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Common/PooledCache/PooledQueueCache.cs#L38-L102)

```csharp
public PooledQueueCache(ICacheDataAdapter cacheDataAdapter, ILogger logger, ICacheMonitor cacheMonitor, TimeSpan? cacheMonitorWriteInterval, TimeSpan? purgeMetadataInterval = null)
```

Pooled queue cache is a cache of message that obtains resource from a pool

### Parameters

- `cacheDataAdapter` (`ICacheDataAdapter`): The cache data adapter.
- `logger` (`ILogger`): The logger.
- `cacheMonitor` (`ICacheMonitor`): The cache monitor.
- `cacheMonitorWriteInterval` (`TimeSpan?`): The cache monitor write interval. Only triggered for active caches.
- `purgeMetadataInterval` (`TimeSpan?`): The interval after which to purge cache metadata.
