Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public SiteModelChangeMapProxy()
 {
     _proxyStorageCache = DIContext.Obtain <ISiteModels>().PrimaryImmutableStorageProxy.ProjectMachineCache(FileSystemStreamType.SiteModelMachineElevationChangeMap);
 }
Exemplo n.º 3
0
 public SiteModelChangeMapDeltaNotifier()
 {
     _queueCache = DIContext.Obtain <Func <IStorageProxyCache <ISiteModelChangeBufferQueueKey, ISiteModelChangeBufferQueueItem> > >()();
 }