コード例 #1
0
 public UnifiedObjectCreator(IScalabilityObjectCreator appObjectCreator, IReferenceCreator appReferenceCreator)
 {
     this.m_objectCreators       = new IScalabilityObjectCreator[2];
     this.m_objectCreators[0]    = CommonObjectCreator.Instance;
     this.m_objectCreators[1]    = appObjectCreator;
     this.m_referenceCreators    = new IReferenceCreator[2];
     this.m_referenceCreators[0] = CommonReferenceCreator.Instance;
     this.m_referenceCreators[1] = appReferenceCreator;
 }
コード例 #2
0
 internal UnifiedObjectCreator(IScalabilityObjectCreator appObjectCreator, IReferenceCreator appReferenceCreator)
 {
     m_objectCreators       = new IScalabilityObjectCreator[2];
     m_objectCreators[0]    = CommonObjectCreator.Instance;
     m_objectCreators[1]    = appObjectCreator;
     m_referenceCreators    = new IReferenceCreator[2];
     m_referenceCreators[0] = CommonReferenceCreator.Instance;
     m_referenceCreators[1] = appReferenceCreator;
 }
コード例 #3
0
 internal RIFAppendOnlyStorage(IStreamHandler streamHandler, IScalabilityObjectCreator appObjectCreator, IReferenceCreator appReferenceCreator, GlobalIDOwnerCollection globalIdsFromOtherStream, bool fromExistingStream, int rifCompatVersion, bool prohibitSerializableValues)
 {
     m_streamCreator              = streamHandler;
     m_scalabilityCache           = null;
     m_stream                     = null;
     m_unifiedObjectCreator       = new UnifiedObjectCreator(appObjectCreator, appReferenceCreator);
     m_referenceCreator           = new UnifiedReferenceCreator(appReferenceCreator);
     m_fromExistingStream         = fromExistingStream;
     m_globalIdsFromOtherStream   = globalIdsFromOtherStream;
     m_prohibitSerializableValues = prohibitSerializableValues;
     m_rifCompatVersion           = rifCompatVersion;
 }
コード例 #4
0
 internal BaseScalabilityCache(IStorage storage, long cacheExpansionIntervalMs, double cacheExpansionRatio, ComponentType ownerComponent, long minReservedMemoryBytes)
 {
     m_cacheSizeBytes         = 0L;
     m_storage                = storage;
     m_referenceCreator       = storage.ReferenceCreator;
     storage.ScalabilityCache = this;
     Global.Tracer.Assert(cacheExpansionIntervalMs > 0, "CacheExpansionIntervalMs must be greater than 0");
     m_expansionIntervalMs = cacheExpansionIntervalMs;
     m_cacheExpansionRatio = cacheExpansionRatio;
     m_ownerComponent      = ownerComponent;
     m_minReservedMemoryKB = minReservedMemoryBytes / 1024;
 }
コード例 #5
0
 public RIFStorage(IStreamHandler streamHandler, int bufferPageSize, int bufferPageCount, int tempStreamSize, ISpaceManager spaceManager, IScalabilityObjectCreator appObjectCreator, IReferenceCreator appReferenceCreator, GlobalIDOwnerCollection globalIdsFromOtherStream, bool fromExistingStream, int rifCompatVersion)
 {
     this.m_streamCreator            = streamHandler;
     this.m_scalabilityCache         = null;
     this.m_bufferPageSize           = bufferPageSize;
     this.m_bufferPageCount          = bufferPageCount;
     this.m_tempStreamSize           = tempStreamSize;
     this.m_stream                   = null;
     this.m_spaceManager             = spaceManager;
     this.m_unifiedObjectCreator     = new UnifiedObjectCreator(appObjectCreator, appReferenceCreator);
     this.m_referenceCreator         = new UnifiedReferenceCreator(appReferenceCreator);
     this.m_fromExistingStream       = fromExistingStream;
     this.m_globalIdsFromOtherStream = globalIdsFromOtherStream;
     this.m_rifCompatVersion         = rifCompatVersion;
 }
コード例 #6
0
        public static IScalabilityCache CreateCacheForTransientAllocations(CreateAndRegisterStream createStreamCallback, string streamNamePrefix, IScalabilityObjectCreator objectCreator, IReferenceCreator referenceCreator, ComponentType componentType, int minReservedMemoryMB)
        {
            int            rifCompatVersion = 0;
            ISpaceManager  spaceManager     = new PromoteLocalitySpaceManager(52428800L);
            IStorage       storage          = new RIFStorage(new CreateAndRegisterStreamHandler(streamNamePrefix + "_Data", createStreamCallback), 4096, 200, 500, spaceManager, objectCreator, referenceCreator, null, false, rifCompatVersion);
            IIndexStrategy indexStrategy    = new IndexTable(new CreateAndRegisterStreamHandler(streamNamePrefix + "_Index", createStreamCallback), 1024, 100);

            return(new ScalabilityCache(storage, indexStrategy, componentType, minReservedMemoryMB * 1048576));
        }
コード例 #7
0
 internal UnifiedReferenceCreator(IReferenceCreator appReferenceCreator)
 {
     m_referenceCreators    = new IReferenceCreator[2];
     m_referenceCreators[0] = CommonReferenceCreator.Instance;
     m_referenceCreators[1] = appReferenceCreator;
 }
コード例 #8
0
 public UnifiedReferenceCreator(IReferenceCreator appReferenceCreator)
 {
     this.m_referenceCreators    = new IReferenceCreator[2];
     this.m_referenceCreators[0] = CommonReferenceCreator.Instance;
     this.m_referenceCreators[1] = appReferenceCreator;
 }