ObjectCacheSettings(ObjectCacheSettings other) { this.CacheLimit = other.CacheLimit; this.IdleTimeout = other.IdleTimeout; this.LeaseTimeout = other.LeaseTimeout; this.PurgeFrequency = other.PurgeFrequency; }
ObjectCacheSettings(ObjectCacheSettings other) { this.CacheLimit = other.CacheLimit; this.IdleTimeout = other.IdleTimeout; this.LeaseTimeout = other.LeaseTimeout; this.PurgeFrequency = other.PurgeFrequency; }
public DarkRiftClient(int maxCachedWriters = 2, int maxCachedReaders = 2, int maxCachedMessages = 4, int maxCachedSocketAsyncEventArgs = 32, int maxActionDispatcherTasks = 16) { ObjectCacheSettings objectCacheSettings = DefaultCacheSettings; objectCacheSettings.MaxWriters = maxCachedWriters; objectCacheSettings.MaxReaders = maxCachedReaders; objectCacheSettings.MaxMessages = maxCachedMessages; objectCacheSettings.MaxSocketAsyncEventArgs = maxCachedSocketAsyncEventArgs; objectCacheSettings.MaxActionDispatcherTasks = maxActionDispatcherTasks; ObjectCache.Initialize(objectCacheSettings); this.RoundTripTime = new RoundTripTimeHelper(10, 10); }
public DarkRiftClient(ObjectCacheSettings objectCacheSettings) { ObjectCache.Initialize(objectCacheSettings); if (objectCacheSettings is ClientObjectCacheSettings settings) { ClientObjectCache.Initialize(settings); } else { ClientObjectCacheSettings clientObjectCacheSettings = new ClientObjectCacheSettings { MaxMessageReceivedEventArgs = 4 }; ClientObjectCache.Initialize(clientObjectCacheSettings); } this.RoundTripTime = new RoundTripTimeHelper(10, 10); }
internal ObjectCache <InternalSendMessage.FactoryCacheKey, InternalSendMessage.ChannelFactoryReference> GetFactoryCache() { if (this.factoryCache == null) { this.isReadOnly = true; lock (this.thisLock) { this.ThrowIfDisposed(); if (this.factoryCache == null) { ObjectCacheSettings settings = new ObjectCacheSettings { CacheLimit = this.FactorySettings.MaxItemsInCache, IdleTimeout = this.FactorySettings.IdleTimeout, LeaseTimeout = this.FactorySettings.LeaseTimeout }; this.factoryCache = new ObjectCache <InternalSendMessage.FactoryCacheKey, InternalSendMessage.ChannelFactoryReference>(settings); } } } return(this.factoryCache); }
public ObjectCacheSettings ToObjectCacheSettings() { ObjectCacheSettings objectCacheSettings = new ObjectCacheSettings(); objectCacheSettings.MaxWriters = maxWriters; objectCacheSettings.MaxReaders = maxReaders; objectCacheSettings.MaxMessages = maxMessages; objectCacheSettings.MaxMessageBuffers = maxMessageBuffers; objectCacheSettings.MaxSocketAsyncEventArgs = maxSocketAsyncEventArgs; objectCacheSettings.MaxActionDispatcherTasks = maxActionDispatcherTasks; objectCacheSettings.MaxAutoRecyclingArrays = maxAutoRecyclingArrays; objectCacheSettings.ExtraSmallMemoryBlockSize = extraSmallMemoryBlockSize; objectCacheSettings.MaxExtraSmallMemoryBlocks = maxExtraSmallMemoryBlocks; objectCacheSettings.SmallMemoryBlockSize = smallMemoryBlockSize; objectCacheSettings.MaxSmallMemoryBlocks = maxSmallMemoryBlocks; objectCacheSettings.MediumMemoryBlockSize = mediumMemoryBlockSize; objectCacheSettings.MaxMediumMemoryBlocks = maxMediumMemoryBlocks; objectCacheSettings.LargeMemoryBlockSize = largeMemoryBlockSize; objectCacheSettings.MaxLargeMemoryBlocks = maxLargeMemoryBlocks; objectCacheSettings.ExtraLargeMemoryBlockSize = extraLargeMemoryBlockSize; objectCacheSettings.MaxExtraLargeMemoryBlocks = maxExtraLargeMemoryBlocks; return(objectCacheSettings); }
// factory cache will be created on first usage after which the settings are immutable internal ObjectCache <InternalSendMessage.FactoryCacheKey, InternalSendMessage.ChannelFactoryReference> GetFactoryCache() { if (this.factoryCache == null) { this.isReadOnly = true; lock (thisLock) { ThrowIfDisposed(); if (this.factoryCache == null) { // we don't need to set DisposeItemCallback since InternalSendMessage.ChannelFactoryReference is IDisposable ObjectCacheSettings objectCacheSettings = new ObjectCacheSettings { CacheLimit = this.FactorySettings.MaxItemsInCache, IdleTimeout = this.FactorySettings.IdleTimeout, LeaseTimeout = this.FactorySettings.LeaseTimeout }; this.factoryCache = new ObjectCache <InternalSendMessage.FactoryCacheKey, InternalSendMessage.ChannelFactoryReference>(objectCacheSettings); } } } return(this.factoryCache); }