public SiteModelChangeProcessorItemHandler() { var ignite = DIContext.Obtain <ITRexGridFactory>()?.Grid(StorageMutability.Immutable); if (ignite == null) { throw new TRexException("Failed to obtain immutable Ignite reference"); } _waitHandle = new EventWaitHandle(false, EventResetMode.AutoReset); _queue = new ConcurrentQueue <ICacheEntry <ISiteModelChangeBufferQueueKey, ISiteModelChangeBufferQueueItem> >(); _itemQueueCache = DIContext.Obtain <Func <IStorageProxyCache <ISiteModelChangeBufferQueueKey, ISiteModelChangeBufferQueueItem> > >()(); _changeMapProxy = new SiteModelChangeMapProxy(); _log.LogInformation("Starting site model change processor item handler task"); _task = Task.Factory.StartNew(ProcessChangeMapUpdateItems, TaskCreationOptions.LongRunning); }
public SiteModelChangeMapProxy() { _proxyStorageCache = DIContext.Obtain <ISiteModels>().PrimaryImmutableStorageProxy.ProjectMachineCache(FileSystemStreamType.SiteModelMachineElevationChangeMap); }
public SiteModelChangeMapDeltaNotifier() { _queueCache = DIContext.Obtain <Func <IStorageProxyCache <ISiteModelChangeBufferQueueKey, ISiteModelChangeBufferQueueItem> > >()(); }