Skip to content

MemoryPooledCache<TSerializer> Constructors

Pooled cache for memory stream provider

MemoryPooledCache<TSerializer>(IObjectPool<FixedSizeBuffer>, TimePurgePredicate, ILogger, TSerializer, ICacheMonitor?, TimeSpan?, TimeSpan?)

View source
public MemoryPooledCache(IObjectPool<FixedSizeBuffer> bufferPool, TimePurgePredicate purgePredicate, ILogger logger, TSerializer serializer, ICacheMonitor? cacheMonitor, TimeSpan? monitorWriteInterval, TimeSpan? purgeMetadataInterval)
Pooled cache for memory stream provider.

Parameters

bufferPoolIObjectPool<FixedSizeBuffer>
The buffer pool.
purgePredicateTimePurgePredicate
The purge predicate.
loggerILogger
The logger.
serializerTSerializer
The serializer.
cacheMonitorICacheMonitor?
The cache monitor.
monitorWriteIntervalTimeSpan?
The monitor write interval.
purgeMetadataIntervalTimeSpan?
The interval between cache purge metadata updates.

MemoryPooledCache<TSerializer>(IObjectPool<FixedSizeBuffer>, TimePurgePredicate, ILogger, TSerializer, ICacheMonitor?, TimeSpan?, TimeSpan?, int)

View source
public MemoryPooledCache(IObjectPool<FixedSizeBuffer> bufferPool, TimePurgePredicate purgePredicate, ILogger logger, TSerializer serializer, ICacheMonitor? cacheMonitor, TimeSpan? monitorWriteInterval, TimeSpan? purgeMetadataInterval, int maxAddCount)
Creates a pooled cache for a memory stream provider with a configured dequeue record limit.

Parameters

bufferPoolIObjectPool<FixedSizeBuffer>
The buffer pool.
purgePredicateTimePurgePredicate
The purge predicate.
loggerILogger
The logger.
serializerTSerializer
The serializer.
cacheMonitorICacheMonitor?
The cache monitor.
monitorWriteIntervalTimeSpan?
The monitor write interval.
purgeMetadataIntervalTimeSpan?
The interval between cache purge metadata updates.
maxAddCountint
The positive maximum number of queue records requested in each dequeue operation.

Exceptions

System.ArgumentOutOfRangeException
maxAddCount is zero or negative.